diff --git a/nezha-fronted/config/index.js b/nezha-fronted/config/index.js
index c9782e0ea..6a6ff39bc 100644
--- a/nezha-fronted/config/index.js
+++ b/nezha-fronted/config/index.js
@@ -20,7 +20,7 @@ module.exports = {
},
// Various Dev Server settings
// host: '0.0.0.0', // can be overwritten by process.env.HOST
- host: '127.0.0.1', // can be overwritten by process.env.HOST
+ host: 'localhost', // can be overwritten by process.env.HOST
port: 80, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: true,
errorOverlay: true,
diff --git a/nezha-fronted/package-lock.json b/nezha-fronted/package-lock.json
index cbc35821c..858afd2ec 100644
--- a/nezha-fronted/package-lock.json
+++ b/nezha-fronted/package-lock.json
@@ -2147,9 +2147,9 @@
}
},
"is-buffer": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
}
}
},
diff --git a/nezha-fronted/src/components/chart/panelChart.vue b/nezha-fronted/src/components/chart/panelChart.vue
index 60059b762..c33e1b346 100644
--- a/nezha-fronted/src/components/chart/panelChart.vue
+++ b/nezha-fronted/src/components/chart/panelChart.vue
@@ -564,7 +564,7 @@ export default {
xhr.responseType = ''
// 创建一个 post 请求,采用异步
xhr.open('get', 'http://192.168.44.100/' + nowUrl, true)
- xhr.setRequestHeader('Authorization', localStorage.getItem('nz-token'));
+ xhr.setRequestHeader('Authorization', localStorage.getItem('nz-token'))
// 注册相关事件回调处理函数
xhr.onload = function (e) {
if (this.status == 200 || this.status == 304) {
@@ -572,7 +572,7 @@ export default {
resolve(JSON.parse(this.responseText))
}
}
- xhr.onerror = function(e) { console.log(e) };
+ xhr.onerror = function (e) { console.log(e) }
// 发送数据
xhr.send()
})
diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue
index 6765cb2b3..d74732223 100644
--- a/nezha-fronted/src/components/page/dashboard/panel.vue
+++ b/nezha-fronted/src/components/page/dashboard/panel.vue
@@ -635,7 +635,7 @@ export default {
const vm = this
this.$get('visual/panel?type=dashboard&pageSize=-1').then(response => {
if (response.code === 200) {
- this.panelData = response.data.list
+ this.panelData = JSON.parse(JSON.stringify(response.data.list))
let isInitData = false
if (response.data.list.length > 0) {
if (this.$store.state.showPanel.id > 0 && this.$store.state.showPanel.name) {
diff --git a/nezha-fronted/static/config.json b/nezha-fronted/static/config.json
index 5f74f5d01..abcddc473 100644
--- a/nezha-fronted/static/config.json
+++ b/nezha-fronted/static/config.json
@@ -1 +1 @@
-{"baseUrl":"/", "version": "21.04"}
+{"baseUrl":"http://192.168.40.42:8080/", "version": "21.04"}
diff --git a/nezha-fronted/test/unit/coverage/clover.xml b/nezha-fronted/test/unit/coverage/clover.xml
new file mode 100644
index 000000000..364e51777
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/clover.xml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nezha-fronted/test/unit/coverage/coverage-final.json b/nezha-fronted/test/unit/coverage/coverage-final.json
new file mode 100644
index 000000000..473b85f0d
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/coverage-final.json
@@ -0,0 +1,4 @@
+{"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\components\\common\\js\\example.js": {"path":"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\components\\common\\js\\example.js","statementMap":{"0":{"start":{"line":3,"column":2},"end":{"line":25,"column":3}},"1":{"start":{"line":4,"column":23},"end":{"line":16,"column":6}},"2":{"start":{"line":5,"column":20},"end":{"line":5,"column":88}},"3":{"start":{"line":9,"column":18},"end":{"line":9,"column":46}},"4":{"start":{"line":10,"column":18},"end":{"line":10,"column":22}},"5":{"start":{"line":11,"column":6},"end":{"line":14,"column":7}},"6":{"start":{"line":12,"column":21},"end":{"line":12,"column":41}},"7":{"start":{"line":13,"column":8},"end":{"line":13,"column":97}},"8":{"start":{"line":15,"column":6},"end":{"line":15,"column":24}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":21}},"10":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"11":{"start":{"line":20,"column":6},"end":{"line":20,"column":19}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":26}}},"fnMap":{"0":{"name":"dealLegendAlias","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":31}},"loc":{"start":{"line":2,"column":58},"end":{"line":26,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":65},"end":{"line":4,"column":66}},"loc":{"start":{"line":4,"column":78},"end":{"line":16,"column":5}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":25,"column":3}},{"start":{"line":3,"column":2},"end":{"line":25,"column":3}}],"line":3},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":14,"column":7}},{"start":{"line":11,"column":6},"end":{"line":14,"column":7}}],"line":11},"2":{"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":24}},"type":"binary-expr","locations":[{"start":{"line":15,"column":13},"end":{"line":15,"column":18}},{"start":{"line":15,"column":22},"end":{"line":15,"column":24}}],"line":15},"3":{"loc":{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":23,"column":5}},{"start":{"line":19,"column":4},"end":{"line":23,"column":5}}],"line":19}},"s":{"0":5,"1":3,"2":4,"3":4,"4":4,"5":4,"6":3,"7":3,"8":4,"9":3,"10":2,"11":1,"12":1},"f":{"0":5,"1":4},"b":{"0":[3,2],"1":[3,1],"2":[4,1],"3":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"87007b02d5ee6467ef41f58d9f7997e15023bbec"}
+,"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\components\\common\\mixin\\mainMixinFun.js": {"path":"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\components\\common\\mixin\\mainMixinFun.js","statementMap":{"0":{"start":{"line":7,"column":6},"end":{"line":9,"column":7}},"1":{"start":{"line":8,"column":8},"end":{"line":8,"column":48}},"2":{"start":{"line":12,"column":6},"end":{"line":14,"column":7}},"3":{"start":{"line":13,"column":8},"end":{"line":13,"column":84}},"4":{"start":{"line":15,"column":6},"end":{"line":19,"column":7}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":18}},"7":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"8":{"start":{"line":23,"column":8},"end":{"line":23,"column":48}},"9":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"10":{"start":{"line":28,"column":8},"end":{"line":28,"column":84}},"11":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"12":{"start":{"line":31,"column":8},"end":{"line":31,"column":65}},"13":{"start":{"line":35,"column":6},"end":{"line":35,"column":34}},"14":{"start":{"line":38,"column":6},"end":{"line":38,"column":60}},"15":{"start":{"line":41,"column":6},"end":{"line":63,"column":7}},"16":{"start":{"line":42,"column":8},"end":{"line":62,"column":9}},"17":{"start":{"line":43,"column":25},"end":{"line":43,"column":64}},"18":{"start":{"line":44,"column":23},"end":{"line":44,"column":39}},"19":{"start":{"line":45,"column":28},"end":{"line":45,"column":30}},"20":{"start":{"line":47,"column":10},"end":{"line":51,"column":11}},"21":{"start":{"line":48,"column":12},"end":{"line":48,"column":35}},"22":{"start":{"line":49,"column":12},"end":{"line":49,"column":29}},"23":{"start":{"line":50,"column":12},"end":{"line":50,"column":37}},"24":{"start":{"line":53,"column":10},"end":{"line":59,"column":11}},"25":{"start":{"line":54,"column":12},"end":{"line":58,"column":13}},"26":{"start":{"line":55,"column":29},"end":{"line":55,"column":48}},"27":{"start":{"line":56,"column":14},"end":{"line":56,"column":48}},"28":{"start":{"line":57,"column":14},"end":{"line":57,"column":32}},"29":{"start":{"line":61,"column":10},"end":{"line":61,"column":20}},"30":{"start":{"line":64,"column":6},"end":{"line":64,"column":14}},"31":{"start":{"line":67,"column":6},"end":{"line":67,"column":24}},"32":{"start":{"line":70,"column":6},"end":{"line":84,"column":7}},"33":{"start":{"line":71,"column":20},"end":{"line":71,"column":24}},"34":{"start":{"line":72,"column":8},"end":{"line":72,"column":35}},"35":{"start":{"line":73,"column":21},"end":{"line":73,"column":25}},"36":{"start":{"line":74,"column":8},"end":{"line":74,"column":36}},"37":{"start":{"line":75,"column":21},"end":{"line":75,"column":33}},"38":{"start":{"line":76,"column":8},"end":{"line":76,"column":35}},"39":{"start":{"line":77,"column":8},"end":{"line":77,"column":18}},"40":{"start":{"line":79,"column":20},"end":{"line":79,"column":24}},"41":{"start":{"line":80,"column":8},"end":{"line":80,"column":35}},"42":{"start":{"line":81,"column":21},"end":{"line":81,"column":25}},"43":{"start":{"line":82,"column":8},"end":{"line":82,"column":36}},"44":{"start":{"line":83,"column":8},"end":{"line":83,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":23},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":39},"end":{"line":10,"column":5}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":26},"end":{"line":11,"column":27}},"loc":{"start":{"line":11,"column":47},"end":{"line":20,"column":5}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":23},"end":{"line":21,"column":24}},"loc":{"start":{"line":21,"column":39},"end":{"line":25,"column":5}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":26},"end":{"line":26,"column":27}},"loc":{"start":{"line":26,"column":47},"end":{"line":33,"column":5}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":6},"end":{"line":9,"column":7}},"type":"if","locations":[{"start":{"line":7,"column":6},"end":{"line":9,"column":7}},{"start":{"line":7,"column":6},"end":{"line":9,"column":7}}],"line":7},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":14,"column":7}},"type":"if","locations":[{"start":{"line":12,"column":6},"end":{"line":14,"column":7}},{"start":{"line":12,"column":6},"end":{"line":14,"column":7}}],"line":12},"2":{"loc":{"start":{"line":13,"column":14},"end":{"line":13,"column":84}},"type":"binary-expr","locations":[{"start":{"line":13,"column":14},"end":{"line":13,"column":59}},{"start":{"line":13,"column":63},"end":{"line":13,"column":84}}],"line":13},"3":{"loc":{"start":{"line":15,"column":6},"end":{"line":19,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":19,"column":7}},{"start":{"line":15,"column":6},"end":{"line":19,"column":7}}],"line":15},"4":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":24,"column":7}},{"start":{"line":22,"column":6},"end":{"line":24,"column":7}}],"line":22},"5":{"loc":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},{"start":{"line":27,"column":6},"end":{"line":29,"column":7}}],"line":27},"6":{"loc":{"start":{"line":28,"column":14},"end":{"line":28,"column":84}},"type":"binary-expr","locations":[{"start":{"line":28,"column":14},"end":{"line":28,"column":59}},{"start":{"line":28,"column":63},"end":{"line":28,"column":84}}],"line":28},"7":{"loc":{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":32,"column":7}},{"start":{"line":30,"column":6},"end":{"line":32,"column":7}}],"line":30},"8":{"loc":{"start":{"line":41,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":41,"column":6},"end":{"line":63,"column":7}},{"start":{"line":41,"column":6},"end":{"line":63,"column":7}}],"line":41},"9":{"loc":{"start":{"line":42,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":62,"column":9}},{"start":{"line":42,"column":8},"end":{"line":62,"column":9}}],"line":42},"10":{"loc":{"start":{"line":42,"column":12},"end":{"line":42,"column":80}},"type":"binary-expr","locations":[{"start":{"line":42,"column":13},"end":{"line":42,"column":43}},{"start":{"line":42,"column":49},"end":{"line":42,"column":79}}],"line":42},"11":{"loc":{"start":{"line":47,"column":10},"end":{"line":51,"column":11}},"type":"if","locations":[{"start":{"line":47,"column":10},"end":{"line":51,"column":11}},{"start":{"line":47,"column":10},"end":{"line":51,"column":11}}],"line":47},"12":{"loc":{"start":{"line":53,"column":10},"end":{"line":59,"column":11}},"type":"if","locations":[{"start":{"line":53,"column":10},"end":{"line":59,"column":11}},{"start":{"line":53,"column":10},"end":{"line":59,"column":11}}],"line":53},"13":{"loc":{"start":{"line":54,"column":12},"end":{"line":58,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":58,"column":13}},{"start":{"line":54,"column":12},"end":{"line":58,"column":13}}],"line":54},"14":{"loc":{"start":{"line":70,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":70,"column":6},"end":{"line":84,"column":7}},{"start":{"line":70,"column":6},"end":{"line":84,"column":7}}],"line":70}},"s":{"0":2,"1":2,"2":3,"3":2,"4":3,"5":3,"6":0,"7":5,"8":5,"9":3,"10":2,"11":3,"12":3,"13":1,"14":2,"15":4,"16":4,"17":2,"18":2,"19":2,"20":2,"21":0,"22":0,"23":0,"24":2,"25":0,"26":0,"27":0,"28":0,"29":2,"30":2,"31":3,"32":2,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1},"f":{"0":2,"1":3,"2":5,"3":3},"b":{"0":[2,0],"1":[2,1],"2":[2,2],"3":[3,0],"4":[5,0],"5":[2,1],"6":[2,2],"7":[3,0],"8":[4,0],"9":[2,2],"10":[4,4],"11":[0,2],"12":[0,2],"13":[0,0],"14":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"ffd5ceeef3e406ebcabf907bab56214e64b3ab42"}
+,"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\libs\\bus.js": {"path":"C:\\Users\\蟹Bro\\Desktop\\pro\\nezha-fronted\\nezha-fronted\\src\\libs\\bus.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":7,"column":1}},"1":{"start":{"line":4,"column":2},"end":{"line":4,"column":18}},"2":{"start":{"line":5,"column":2},"end":{"line":5,"column":20}},"3":{"start":{"line":6,"column":2},"end":{"line":6,"column":20}},"4":{"start":{"line":8,"column":0},"end":{"line":12,"column":1}},"5":{"start":{"line":9,"column":2},"end":{"line":9,"column":19}},"6":{"start":{"line":10,"column":2},"end":{"line":10,"column":21}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":21}},"8":{"start":{"line":16,"column":4},"end":{"line":31,"column":5}},"9":{"start":{"line":36,"column":18},"end":{"line":36,"column":34}},"10":{"start":{"line":37,"column":16},"end":{"line":37,"column":31}},"11":{"start":{"line":38,"column":6},"end":{"line":38,"column":22}},"12":{"start":{"line":39,"column":6},"end":{"line":39,"column":18}},"13":{"start":{"line":42,"column":6},"end":{"line":42,"column":156}},"14":{"start":{"line":43,"column":6},"end":{"line":43,"column":152}},"15":{"start":{"line":44,"column":6},"end":{"line":44,"column":36}},"16":{"start":{"line":47,"column":20},"end":{"line":47,"column":40}},"17":{"start":{"line":48,"column":19},"end":{"line":48,"column":61}},"18":{"start":{"line":49,"column":6},"end":{"line":49,"column":17}},"19":{"start":{"line":53,"column":20},"end":{"line":53,"column":40}},"20":{"start":{"line":54,"column":19},"end":{"line":54,"column":65}},"21":{"start":{"line":55,"column":6},"end":{"line":55,"column":17}},"22":{"start":{"line":58,"column":17},"end":{"line":58,"column":35}},"23":{"start":{"line":59,"column":20},"end":{"line":59,"column":39}},"24":{"start":{"line":60,"column":17},"end":{"line":60,"column":48}},"25":{"start":{"line":61,"column":20},"end":{"line":61,"column":34}},"26":{"start":{"line":62,"column":17},"end":{"line":62,"column":48}},"27":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"28":{"start":{"line":64,"column":8},"end":{"line":64,"column":46}},"29":{"start":{"line":66,"column":6},"end":{"line":66,"column":30}},"30":{"start":{"line":69,"column":17},"end":{"line":69,"column":19}},"31":{"start":{"line":70,"column":6},"end":{"line":74,"column":7}},"32":{"start":{"line":71,"column":8},"end":{"line":71,"column":29}},"33":{"start":{"line":73,"column":8},"end":{"line":73,"column":32}},"34":{"start":{"line":75,"column":17},"end":{"line":75,"column":20}},"35":{"start":{"line":76,"column":6},"end":{"line":76,"column":36}},"36":{"start":{"line":79,"column":6},"end":{"line":84,"column":7}},"37":{"start":{"line":80,"column":24},"end":{"line":80,"column":41}},"38":{"start":{"line":81,"column":8},"end":{"line":81,"column":22}},"39":{"start":{"line":83,"column":8},"end":{"line":83,"column":19}},"40":{"start":{"line":87,"column":20},"end":{"line":87,"column":39}},"41":{"start":{"line":88,"column":18},"end":{"line":88,"column":35}},"42":{"start":{"line":89,"column":17},"end":{"line":89,"column":22}},"43":{"start":{"line":90,"column":26},"end":{"line":90,"column":57}},"44":{"start":{"line":91,"column":21},"end":{"line":91,"column":29}},"45":{"start":{"line":92,"column":23},"end":{"line":92,"column":32}},"46":{"start":{"line":93,"column":24},"end":{"line":93,"column":34}},"47":{"start":{"line":94,"column":6},"end":{"line":102,"column":7}},"48":{"start":{"line":95,"column":8},"end":{"line":95,"column":20}},"49":{"start":{"line":96,"column":13},"end":{"line":102,"column":7}},"50":{"start":{"line":97,"column":8},"end":{"line":97,"column":19}},"51":{"start":{"line":98,"column":13},"end":{"line":102,"column":7}},"52":{"start":{"line":99,"column":8},"end":{"line":99,"column":20}},"53":{"start":{"line":101,"column":8},"end":{"line":101,"column":20}},"54":{"start":{"line":103,"column":6},"end":{"line":103,"column":17}},"55":{"start":{"line":106,"column":6},"end":{"line":111,"column":7}},"56":{"start":{"line":107,"column":19},"end":{"line":107,"column":21}},"57":{"start":{"line":109,"column":8},"end":{"line":109,"column":43}},"58":{"start":{"line":109,"column":28},"end":{"line":109,"column":41}},"59":{"start":{"line":110,"column":8},"end":{"line":110,"column":19}},"60":{"start":{"line":112,"column":6},"end":{"line":112,"column":17}},"61":{"start":{"line":115,"column":6},"end":{"line":121,"column":7}},"62":{"start":{"line":116,"column":8},"end":{"line":116,"column":36}},"63":{"start":{"line":117,"column":13},"end":{"line":121,"column":7}},"64":{"start":{"line":118,"column":8},"end":{"line":118,"column":38}},"65":{"start":{"line":120,"column":8},"end":{"line":120,"column":18}},"66":{"start":{"line":124,"column":6},"end":{"line":143,"column":7}},"67":{"start":{"line":125,"column":22},"end":{"line":125,"column":32}},"68":{"start":{"line":126,"column":8},"end":{"line":141,"column":9}},"69":{"start":{"line":127,"column":24},"end":{"line":127,"column":36}},"70":{"start":{"line":128,"column":10},"end":{"line":139,"column":11}},"71":{"start":{"line":129,"column":26},"end":{"line":129,"column":38}},"72":{"start":{"line":130,"column":12},"end":{"line":137,"column":13}},"73":{"start":{"line":131,"column":28},"end":{"line":131,"column":40}},"74":{"start":{"line":132,"column":14},"end":{"line":135,"column":15}},"75":{"start":{"line":133,"column":30},"end":{"line":133,"column":42}},"76":{"start":{"line":134,"column":16},"end":{"line":134,"column":46}},"77":{"start":{"line":136,"column":14},"end":{"line":136,"column":44}},"78":{"start":{"line":138,"column":12},"end":{"line":138,"column":42}},"79":{"start":{"line":140,"column":10},"end":{"line":140,"column":40}},"80":{"start":{"line":142,"column":8},"end":{"line":142,"column":38}},"81":{"start":{"line":144,"column":6},"end":{"line":144,"column":27}},"82":{"start":{"line":147,"column":22},"end":{"line":147,"column":24}},"83":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"84":{"start":{"line":149,"column":8},"end":{"line":151,"column":10}},"85":{"start":{"line":150,"column":10},"end":{"line":150,"column":33}},"86":{"start":{"line":153,"column":26},"end":{"line":153,"column":28}},"87":{"start":{"line":154,"column":6},"end":{"line":188,"column":7}},"88":{"start":{"line":155,"column":8},"end":{"line":187,"column":9}},"89":{"start":{"line":156,"column":10},"end":{"line":158,"column":12}},"90":{"start":{"line":157,"column":12},"end":{"line":157,"column":32}},"91":{"start":{"line":159,"column":15},"end":{"line":187,"column":9}},"92":{"start":{"line":160,"column":10},"end":{"line":162,"column":12}},"93":{"start":{"line":161,"column":12},"end":{"line":161,"column":32}},"94":{"start":{"line":163,"column":15},"end":{"line":187,"column":9}},"95":{"start":{"line":164,"column":20},"end":{"line":164,"column":21}},"96":{"start":{"line":165,"column":10},"end":{"line":167,"column":12}},"97":{"start":{"line":166,"column":12},"end":{"line":166,"column":44}},"98":{"start":{"line":168,"column":10},"end":{"line":168,"column":48}},"99":{"start":{"line":169,"column":15},"end":{"line":187,"column":9}},"100":{"start":{"line":170,"column":10},"end":{"line":172,"column":12}},"101":{"start":{"line":171,"column":12},"end":{"line":171,"column":64}},"102":{"start":{"line":173,"column":15},"end":{"line":187,"column":9}},"103":{"start":{"line":174,"column":10},"end":{"line":174,"column":38}},"104":{"start":{"line":175,"column":15},"end":{"line":187,"column":9}},"105":{"start":{"line":176,"column":10},"end":{"line":176,"column":57}},"106":{"start":{"line":177,"column":15},"end":{"line":187,"column":9}},"107":{"start":{"line":178,"column":22},"end":{"line":180,"column":12}},"108":{"start":{"line":179,"column":12},"end":{"line":179,"column":32}},"109":{"start":{"line":181,"column":22},"end":{"line":183,"column":12}},"110":{"start":{"line":182,"column":12},"end":{"line":182,"column":32}},"111":{"start":{"line":184,"column":10},"end":{"line":184,"column":35}},"112":{"start":{"line":185,"column":15},"end":{"line":187,"column":9}},"113":{"start":{"line":186,"column":10},"end":{"line":186,"column":72}},"114":{"start":{"line":189,"column":6},"end":{"line":189,"column":22}},"115":{"start":{"line":190,"column":6},"end":{"line":190,"column":26}},"116":{"start":{"line":194,"column":19},"end":{"line":194,"column":58}},"117":{"start":{"line":195,"column":6},"end":{"line":195,"column":44}},"118":{"start":{"line":196,"column":6},"end":{"line":204,"column":7}},"119":{"start":{"line":197,"column":8},"end":{"line":197,"column":40}},"120":{"start":{"line":198,"column":21},"end":{"line":198,"column":41}},"121":{"start":{"line":199,"column":28},"end":{"line":199,"column":64}},"122":{"start":{"line":200,"column":24},"end":{"line":200,"column":48}},"123":{"start":{"line":201,"column":8},"end":{"line":201,"column":50}},"124":{"start":{"line":203,"column":8},"end":{"line":203,"column":25}},"125":{"start":{"line":208,"column":19},"end":{"line":208,"column":58}},"126":{"start":{"line":209,"column":6},"end":{"line":209,"column":44}},"127":{"start":{"line":210,"column":6},"end":{"line":218,"column":7}},"128":{"start":{"line":211,"column":8},"end":{"line":211,"column":40}},"129":{"start":{"line":212,"column":21},"end":{"line":212,"column":41}},"130":{"start":{"line":213,"column":28},"end":{"line":213,"column":64}},"131":{"start":{"line":214,"column":24},"end":{"line":214,"column":52}},"132":{"start":{"line":215,"column":8},"end":{"line":215,"column":50}},"133":{"start":{"line":217,"column":8},"end":{"line":217,"column":25}},"134":{"start":{"line":221,"column":6},"end":{"line":224,"column":7}},"135":{"start":{"line":227,"column":19},"end":{"line":227,"column":33}},"136":{"start":{"line":228,"column":22},"end":{"line":228,"column":66}},"137":{"start":{"line":229,"column":6},"end":{"line":229,"column":157}},"138":{"start":{"line":232,"column":6},"end":{"line":232,"column":148}},"139":{"start":{"line":236,"column":18},"end":{"line":236,"column":22}},"140":{"start":{"line":237,"column":6},"end":{"line":237,"column":26}},"141":{"start":{"line":238,"column":6},"end":{"line":246,"column":7}},"142":{"start":{"line":239,"column":21},"end":{"line":239,"column":30}},"143":{"start":{"line":240,"column":21},"end":{"line":240,"column":25}},"144":{"start":{"line":242,"column":8},"end":{"line":242,"column":27}},"145":{"start":{"line":243,"column":8},"end":{"line":245,"column":17}},"146":{"start":{"line":244,"column":10},"end":{"line":244,"column":30}},"147":{"start":{"line":249,"column":19},"end":{"line":249,"column":58}},"148":{"start":{"line":250,"column":6},"end":{"line":250,"column":44}},"149":{"start":{"line":251,"column":6},"end":{"line":261,"column":7}},"150":{"start":{"line":252,"column":19},"end":{"line":252,"column":26}},"151":{"start":{"line":253,"column":8},"end":{"line":255,"column":9}},"152":{"start":{"line":254,"column":10},"end":{"line":254,"column":41}},"153":{"start":{"line":256,"column":8},"end":{"line":256,"column":40}},"154":{"start":{"line":257,"column":8},"end":{"line":257,"column":39}},"155":{"start":{"line":258,"column":8},"end":{"line":258,"column":19}},"156":{"start":{"line":260,"column":8},"end":{"line":260,"column":22}},"157":{"start":{"line":264,"column":19},"end":{"line":264,"column":58}},"158":{"start":{"line":265,"column":6},"end":{"line":265,"column":44}},"159":{"start":{"line":266,"column":6},"end":{"line":276,"column":7}},"160":{"start":{"line":267,"column":19},"end":{"line":267,"column":29}},"161":{"start":{"line":268,"column":8},"end":{"line":270,"column":9}},"162":{"start":{"line":269,"column":10},"end":{"line":269,"column":41}},"163":{"start":{"line":271,"column":8},"end":{"line":271,"column":40}},"164":{"start":{"line":272,"column":8},"end":{"line":272,"column":39}},"165":{"start":{"line":273,"column":8},"end":{"line":273,"column":19}},"166":{"start":{"line":275,"column":8},"end":{"line":275,"column":25}},"167":{"start":{"line":279,"column":6},"end":{"line":286,"column":7}},"168":{"start":{"line":280,"column":20},"end":{"line":280,"column":47}},"169":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"170":{"start":{"line":282,"column":10},"end":{"line":282,"column":18}},"171":{"start":{"line":284,"column":20},"end":{"line":284,"column":48}},"172":{"start":{"line":285,"column":8},"end":{"line":285,"column":23}},"173":{"start":{"line":287,"column":6},"end":{"line":287,"column":14}},"174":{"start":{"line":291,"column":4},"end":{"line":291,"column":25}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":26},"end":{"line":3,"column":27}},"loc":{"start":{"line":3,"column":38},"end":{"line":7,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":24},"end":{"line":8,"column":25}},"loc":{"start":{"line":8,"column":36},"end":{"line":12,"column":1}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":149,"column":23},"end":{"line":149,"column":24}},"loc":{"start":{"line":149,"column":33},"end":{"line":151,"column":9}},"line":149},"3":{"name":"(anonymous_3)","decl":{"start":{"line":156,"column":43},"end":{"line":156,"column":44}},"loc":{"start":{"line":156,"column":59},"end":{"line":158,"column":11}},"line":156},"4":{"name":"(anonymous_4)","decl":{"start":{"line":160,"column":43},"end":{"line":160,"column":44}},"loc":{"start":{"line":160,"column":59},"end":{"line":162,"column":11}},"line":160},"5":{"name":"(anonymous_5)","decl":{"start":{"line":165,"column":28},"end":{"line":165,"column":29}},"loc":{"start":{"line":165,"column":38},"end":{"line":167,"column":11}},"line":165},"6":{"name":"(anonymous_6)","decl":{"start":{"line":170,"column":28},"end":{"line":170,"column":29}},"loc":{"start":{"line":170,"column":38},"end":{"line":172,"column":11}},"line":170},"7":{"name":"(anonymous_7)","decl":{"start":{"line":178,"column":39},"end":{"line":178,"column":40}},"loc":{"start":{"line":178,"column":55},"end":{"line":180,"column":11}},"line":178},"8":{"name":"(anonymous_8)","decl":{"start":{"line":181,"column":39},"end":{"line":181,"column":40}},"loc":{"start":{"line":181,"column":55},"end":{"line":183,"column":11}},"line":181},"9":{"name":"(anonymous_9)","decl":{"start":{"line":193,"column":21},"end":{"line":193,"column":22}},"loc":{"start":{"line":193,"column":43},"end":{"line":205,"column":5}},"line":193},"10":{"name":"(anonymous_10)","decl":{"start":{"line":207,"column":25},"end":{"line":207,"column":26}},"loc":{"start":{"line":207,"column":47},"end":{"line":219,"column":5}},"line":207},"11":{"name":"(anonymous_11)","decl":{"start":{"line":220,"column":26},"end":{"line":220,"column":27}},"loc":{"start":{"line":220,"column":49},"end":{"line":225,"column":5}},"line":220},"12":{"name":"(anonymous_12)","decl":{"start":{"line":238,"column":13},"end":{"line":238,"column":14}},"loc":{"start":{"line":238,"column":25},"end":{"line":246,"column":7}},"line":238},"13":{"name":"(anonymous_13)","decl":{"start":{"line":243,"column":27},"end":{"line":243,"column":28}},"loc":{"start":{"line":243,"column":39},"end":{"line":245,"column":9}},"line":243},"14":{"name":"(anonymous_14)","decl":{"start":{"line":263,"column":29},"end":{"line":263,"column":30}},"loc":{"start":{"line":263,"column":51},"end":{"line":277,"column":5}},"line":263}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":38},"end":{"line":42,"column":155}},"type":"cond-expr","locations":[{"start":{"line":42,"column":86},"end":{"line":42,"column":131}},{"start":{"line":42,"column":134},"end":{"line":42,"column":155}}],"line":42},"1":{"loc":{"start":{"line":43,"column":34},"end":{"line":43,"column":151}},"type":"cond-expr","locations":[{"start":{"line":43,"column":82},"end":{"line":43,"column":127}},{"start":{"line":43,"column":130},"end":{"line":43,"column":151}}],"line":43},"2":{"loc":{"start":{"line":60,"column":17},"end":{"line":60,"column":48}},"type":"cond-expr","locations":[{"start":{"line":60,"column":29},"end":{"line":60,"column":34}},{"start":{"line":60,"column":37},"end":{"line":60,"column":48}}],"line":60},"3":{"loc":{"start":{"line":62,"column":17},"end":{"line":62,"column":48}},"type":"cond-expr","locations":[{"start":{"line":62,"column":29},"end":{"line":62,"column":34}},{"start":{"line":62,"column":37},"end":{"line":62,"column":48}}],"line":62},"4":{"loc":{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":65,"column":7}},{"start":{"line":63,"column":6},"end":{"line":65,"column":7}}],"line":63},"5":{"loc":{"start":{"line":68,"column":23},"end":{"line":68,"column":146}},"type":"default-arg","locations":[{"start":{"line":68,"column":29},"end":{"line":68,"column":146}}],"line":68},"6":{"loc":{"start":{"line":68,"column":29},"end":{"line":68,"column":146}},"type":"cond-expr","locations":[{"start":{"line":68,"column":77},"end":{"line":68,"column":122}},{"start":{"line":68,"column":125},"end":{"line":68,"column":146}}],"line":68},"7":{"loc":{"start":{"line":70,"column":6},"end":{"line":74,"column":7}},"type":"if","locations":[{"start":{"line":70,"column":6},"end":{"line":74,"column":7}},{"start":{"line":70,"column":6},"end":{"line":74,"column":7}}],"line":70},"8":{"loc":{"start":{"line":78,"column":29},"end":{"line":78,"column":152}},"type":"default-arg","locations":[{"start":{"line":78,"column":35},"end":{"line":78,"column":152}}],"line":78},"9":{"loc":{"start":{"line":78,"column":35},"end":{"line":78,"column":152}},"type":"cond-expr","locations":[{"start":{"line":78,"column":83},"end":{"line":78,"column":128}},{"start":{"line":78,"column":131},"end":{"line":78,"column":152}}],"line":78},"10":{"loc":{"start":{"line":79,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":79,"column":6},"end":{"line":84,"column":7}},{"start":{"line":79,"column":6},"end":{"line":84,"column":7}}],"line":79},"11":{"loc":{"start":{"line":94,"column":6},"end":{"line":102,"column":7}},"type":"if","locations":[{"start":{"line":94,"column":6},"end":{"line":102,"column":7}},{"start":{"line":94,"column":6},"end":{"line":102,"column":7}}],"line":94},"12":{"loc":{"start":{"line":96,"column":13},"end":{"line":102,"column":7}},"type":"if","locations":[{"start":{"line":96,"column":13},"end":{"line":102,"column":7}},{"start":{"line":96,"column":13},"end":{"line":102,"column":7}}],"line":96},"13":{"loc":{"start":{"line":98,"column":13},"end":{"line":102,"column":7}},"type":"if","locations":[{"start":{"line":98,"column":13},"end":{"line":102,"column":7}},{"start":{"line":98,"column":13},"end":{"line":102,"column":7}}],"line":98},"14":{"loc":{"start":{"line":106,"column":6},"end":{"line":111,"column":7}},"type":"if","locations":[{"start":{"line":106,"column":6},"end":{"line":111,"column":7}},{"start":{"line":106,"column":6},"end":{"line":111,"column":7}}],"line":106},"15":{"loc":{"start":{"line":115,"column":6},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":121,"column":7}},{"start":{"line":115,"column":6},"end":{"line":121,"column":7}}],"line":115},"16":{"loc":{"start":{"line":117,"column":13},"end":{"line":121,"column":7}},"type":"if","locations":[{"start":{"line":117,"column":13},"end":{"line":121,"column":7}},{"start":{"line":117,"column":13},"end":{"line":121,"column":7}}],"line":117},"17":{"loc":{"start":{"line":124,"column":6},"end":{"line":143,"column":7}},"type":"if","locations":[{"start":{"line":124,"column":6},"end":{"line":143,"column":7}},{"start":{"line":124,"column":6},"end":{"line":143,"column":7}}],"line":124},"18":{"loc":{"start":{"line":126,"column":8},"end":{"line":141,"column":9}},"type":"if","locations":[{"start":{"line":126,"column":8},"end":{"line":141,"column":9}},{"start":{"line":126,"column":8},"end":{"line":141,"column":9}}],"line":126},"19":{"loc":{"start":{"line":128,"column":10},"end":{"line":139,"column":11}},"type":"if","locations":[{"start":{"line":128,"column":10},"end":{"line":139,"column":11}},{"start":{"line":128,"column":10},"end":{"line":139,"column":11}}],"line":128},"20":{"loc":{"start":{"line":130,"column":12},"end":{"line":137,"column":13}},"type":"if","locations":[{"start":{"line":130,"column":12},"end":{"line":137,"column":13}},{"start":{"line":130,"column":12},"end":{"line":137,"column":13}}],"line":130},"21":{"loc":{"start":{"line":132,"column":14},"end":{"line":135,"column":15}},"type":"if","locations":[{"start":{"line":132,"column":14},"end":{"line":135,"column":15}},{"start":{"line":132,"column":14},"end":{"line":135,"column":15}}],"line":132},"22":{"loc":{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},"type":"if","locations":[{"start":{"line":148,"column":6},"end":{"line":152,"column":7}},{"start":{"line":148,"column":6},"end":{"line":152,"column":7}}],"line":148},"23":{"loc":{"start":{"line":154,"column":6},"end":{"line":188,"column":7}},"type":"if","locations":[{"start":{"line":154,"column":6},"end":{"line":188,"column":7}},{"start":{"line":154,"column":6},"end":{"line":188,"column":7}}],"line":154},"24":{"loc":{"start":{"line":155,"column":8},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":155,"column":8},"end":{"line":187,"column":9}},{"start":{"line":155,"column":8},"end":{"line":187,"column":9}}],"line":155},"25":{"loc":{"start":{"line":157,"column":19},"end":{"line":157,"column":32}},"type":"cond-expr","locations":[{"start":{"line":157,"column":27},"end":{"line":157,"column":28}},{"start":{"line":157,"column":31},"end":{"line":157,"column":32}}],"line":157},"26":{"loc":{"start":{"line":159,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":159,"column":15},"end":{"line":187,"column":9}},{"start":{"line":159,"column":15},"end":{"line":187,"column":9}}],"line":159},"27":{"loc":{"start":{"line":161,"column":19},"end":{"line":161,"column":32}},"type":"cond-expr","locations":[{"start":{"line":161,"column":27},"end":{"line":161,"column":28}},{"start":{"line":161,"column":31},"end":{"line":161,"column":32}}],"line":161},"28":{"loc":{"start":{"line":163,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":15},"end":{"line":187,"column":9}},{"start":{"line":163,"column":15},"end":{"line":187,"column":9}}],"line":163},"29":{"loc":{"start":{"line":169,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":15},"end":{"line":187,"column":9}},{"start":{"line":169,"column":15},"end":{"line":187,"column":9}}],"line":169},"30":{"loc":{"start":{"line":173,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":15},"end":{"line":187,"column":9}},{"start":{"line":173,"column":15},"end":{"line":187,"column":9}}],"line":173},"31":{"loc":{"start":{"line":175,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":175,"column":15},"end":{"line":187,"column":9}},{"start":{"line":175,"column":15},"end":{"line":187,"column":9}}],"line":175},"32":{"loc":{"start":{"line":177,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":177,"column":15},"end":{"line":187,"column":9}},{"start":{"line":177,"column":15},"end":{"line":187,"column":9}}],"line":177},"33":{"loc":{"start":{"line":179,"column":19},"end":{"line":179,"column":32}},"type":"cond-expr","locations":[{"start":{"line":179,"column":27},"end":{"line":179,"column":28}},{"start":{"line":179,"column":31},"end":{"line":179,"column":32}}],"line":179},"34":{"loc":{"start":{"line":182,"column":19},"end":{"line":182,"column":32}},"type":"cond-expr","locations":[{"start":{"line":182,"column":27},"end":{"line":182,"column":28}},{"start":{"line":182,"column":31},"end":{"line":182,"column":32}}],"line":182},"35":{"loc":{"start":{"line":185,"column":15},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":185,"column":15},"end":{"line":187,"column":9}},{"start":{"line":185,"column":15},"end":{"line":187,"column":9}}],"line":185},"36":{"loc":{"start":{"line":196,"column":6},"end":{"line":204,"column":7}},"type":"if","locations":[{"start":{"line":196,"column":6},"end":{"line":204,"column":7}},{"start":{"line":196,"column":6},"end":{"line":204,"column":7}}],"line":196},"37":{"loc":{"start":{"line":196,"column":10},"end":{"line":196,"column":42}},"type":"binary-expr","locations":[{"start":{"line":196,"column":10},"end":{"line":196,"column":16}},{"start":{"line":196,"column":20},"end":{"line":196,"column":42}}],"line":196},"38":{"loc":{"start":{"line":210,"column":6},"end":{"line":218,"column":7}},"type":"if","locations":[{"start":{"line":210,"column":6},"end":{"line":218,"column":7}},{"start":{"line":210,"column":6},"end":{"line":218,"column":7}}],"line":210},"39":{"loc":{"start":{"line":210,"column":10},"end":{"line":210,"column":42}},"type":"binary-expr","locations":[{"start":{"line":210,"column":10},"end":{"line":210,"column":16}},{"start":{"line":210,"column":20},"end":{"line":210,"column":42}}],"line":210},"40":{"loc":{"start":{"line":220,"column":36},"end":{"line":220,"column":47}},"type":"default-arg","locations":[{"start":{"line":220,"column":45},"end":{"line":220,"column":47}}],"line":220},"41":{"loc":{"start":{"line":229,"column":39},"end":{"line":229,"column":156}},"type":"cond-expr","locations":[{"start":{"line":229,"column":87},"end":{"line":229,"column":132}},{"start":{"line":229,"column":135},"end":{"line":229,"column":156}}],"line":229},"42":{"loc":{"start":{"line":231,"column":27},"end":{"line":231,"column":37}},"type":"default-arg","locations":[{"start":{"line":231,"column":36},"end":{"line":231,"column":37}}],"line":231},"43":{"loc":{"start":{"line":237,"column":14},"end":{"line":237,"column":26}},"type":"binary-expr","locations":[{"start":{"line":237,"column":14},"end":{"line":237,"column":19}},{"start":{"line":237,"column":23},"end":{"line":237,"column":26}}],"line":237},"44":{"loc":{"start":{"line":251,"column":6},"end":{"line":261,"column":7}},"type":"if","locations":[{"start":{"line":251,"column":6},"end":{"line":261,"column":7}},{"start":{"line":251,"column":6},"end":{"line":261,"column":7}}],"line":251},"45":{"loc":{"start":{"line":251,"column":10},"end":{"line":251,"column":42}},"type":"binary-expr","locations":[{"start":{"line":251,"column":10},"end":{"line":251,"column":16}},{"start":{"line":251,"column":20},"end":{"line":251,"column":42}}],"line":251},"46":{"loc":{"start":{"line":253,"column":8},"end":{"line":255,"column":9}},"type":"if","locations":[{"start":{"line":253,"column":8},"end":{"line":255,"column":9}},{"start":{"line":253,"column":8},"end":{"line":255,"column":9}}],"line":253},"47":{"loc":{"start":{"line":253,"column":12},"end":{"line":253,"column":80}},"type":"binary-expr","locations":[{"start":{"line":253,"column":12},"end":{"line":253,"column":36}},{"start":{"line":253,"column":40},"end":{"line":253,"column":80}}],"line":253},"48":{"loc":{"start":{"line":266,"column":6},"end":{"line":276,"column":7}},"type":"if","locations":[{"start":{"line":266,"column":6},"end":{"line":276,"column":7}},{"start":{"line":266,"column":6},"end":{"line":276,"column":7}}],"line":266},"49":{"loc":{"start":{"line":266,"column":10},"end":{"line":266,"column":42}},"type":"binary-expr","locations":[{"start":{"line":266,"column":10},"end":{"line":266,"column":16}},{"start":{"line":266,"column":20},"end":{"line":266,"column":42}}],"line":266},"50":{"loc":{"start":{"line":268,"column":8},"end":{"line":270,"column":9}},"type":"if","locations":[{"start":{"line":268,"column":8},"end":{"line":270,"column":9}},{"start":{"line":268,"column":8},"end":{"line":270,"column":9}}],"line":268},"51":{"loc":{"start":{"line":268,"column":12},"end":{"line":268,"column":80}},"type":"binary-expr","locations":[{"start":{"line":268,"column":12},"end":{"line":268,"column":36}},{"start":{"line":268,"column":40},"end":{"line":268,"column":80}}],"line":268},"52":{"loc":{"start":{"line":279,"column":6},"end":{"line":286,"column":7}},"type":"if","locations":[{"start":{"line":279,"column":6},"end":{"line":286,"column":7}},{"start":{"line":279,"column":6},"end":{"line":286,"column":7}}],"line":279},"53":{"loc":{"start":{"line":279,"column":10},"end":{"line":279,"column":63}},"type":"binary-expr","locations":[{"start":{"line":279,"column":11},"end":{"line":279,"column":16}},{"start":{"line":279,"column":20},"end":{"line":279,"column":31}},{"start":{"line":279,"column":36},"end":{"line":279,"column":63}}],"line":279},"54":{"loc":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},{"start":{"line":281,"column":8},"end":{"line":283,"column":9}}],"line":281},"55":{"loc":{"start":{"line":281,"column":12},"end":{"line":281,"column":50}},"type":"binary-expr","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":32}},{"start":{"line":281,"column":36},"end":{"line":281,"column":50}}],"line":281},"56":{"loc":{"start":{"line":285,"column":15},"end":{"line":285,"column":23}},"type":"binary-expr","locations":[{"start":{"line":285,"column":15},"end":{"line":285,"column":18}},{"start":{"line":285,"column":22},"end":{"line":285,"column":23}}],"line":285}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":0,"17":0,"18":0,"19":4,"20":4,"21":4,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":12,"31":12,"32":10,"33":2,"34":12,"35":12,"36":0,"37":0,"38":0,"39":0,"40":4,"41":4,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":1,"49":3,"50":1,"51":2,"52":1,"53":1,"54":4,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":5,"148":5,"149":5,"150":5,"151":5,"152":3,"153":5,"154":5,"155":5,"156":0,"157":5,"158":5,"159":5,"160":5,"161":5,"162":3,"163":5,"164":5,"165":5,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":2},"f":{"0":2,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":5},"b":{"0":[0,2],"1":[0,2],"2":[0,0],"3":[0,0],"4":[0,0],"5":[2],"6":[0,2],"7":[10,2],"8":[0],"9":[0,0],"10":[0,0],"11":[1,3],"12":[1,2],"13":[1,1],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0],"41":[0,0],"42":[0],"43":[0,0],"44":[5,0],"45":[5,5],"46":[3,2],"47":[5,3],"48":[5,0],"49":[5,5],"50":[3,2],"51":[5,3],"52":[0,0],"53":[0,0,0],"54":[0,0],"55":[0,0],"56":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"80499fb9f6b20ab5962513bf2f8bdc66308dbcff"}
+}
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/base.css b/nezha-fronted/test/unit/coverage/lcov-report/base.css
new file mode 100644
index 000000000..f418035b4
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/base.css
@@ -0,0 +1,224 @@
+body, html {
+ margin:0; padding: 0;
+ height: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial;
+ font-size: 14px;
+ color:#333;
+}
+.small { font-size: 12px; }
+*, *:after, *:before {
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ }
+h1 { font-size: 20px; margin: 0;}
+h2 { font-size: 14px; }
+pre {
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ margin: 0;
+ padding: 0;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+}
+a { color:#0074D9; text-decoration:none; }
+a:hover { text-decoration:underline; }
+.strong { font-weight: bold; }
+.space-top1 { padding: 10px 0 0 0; }
+.pad2y { padding: 20px 0; }
+.pad1y { padding: 10px 0; }
+.pad2x { padding: 0 20px; }
+.pad2 { padding: 20px; }
+.pad1 { padding: 10px; }
+.space-left2 { padding-left:55px; }
+.space-right2 { padding-right:20px; }
+.center { text-align:center; }
+.clearfix { display:block; }
+.clearfix:after {
+ content:'';
+ display:block;
+ height:0;
+ clear:both;
+ visibility:hidden;
+ }
+.fl { float: left; }
+@media only screen and (max-width:640px) {
+ .col3 { width:100%; max-width:100%; }
+ .hide-mobile { display:none!important; }
+}
+
+.quiet {
+ color: #7f7f7f;
+ color: rgba(0,0,0,0.5);
+}
+.quiet a { opacity: 0.7; }
+
+.fraction {
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
+ font-size: 10px;
+ color: #555;
+ background: #E8E8E8;
+ padding: 4px 5px;
+ border-radius: 3px;
+ vertical-align: middle;
+}
+
+div.path a:link, div.path a:visited { color: #333; }
+table.coverage {
+ border-collapse: collapse;
+ margin: 10px 0 0 0;
+ padding: 0;
+}
+
+table.coverage td {
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+}
+table.coverage td.line-count {
+ text-align: right;
+ padding: 0 5px 0 20px;
+}
+table.coverage td.line-coverage {
+ text-align: right;
+ padding-right: 10px;
+ min-width:20px;
+}
+
+table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 100%;
+}
+.missing-if-branch {
+ display: inline-block;
+ margin-right: 5px;
+ border-radius: 3px;
+ position: relative;
+ padding: 0 4px;
+ background: #333;
+ color: yellow;
+}
+
+.skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+}
+.missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+}
+.coverage-summary {
+ border-collapse: collapse;
+ width: 100%;
+}
+.coverage-summary tr { border-bottom: 1px solid #bbb; }
+.keyline-all { border: 1px solid #ddd; }
+.coverage-summary td, .coverage-summary th { padding: 10px; }
+.coverage-summary tbody { border: 1px solid #bbb; }
+.coverage-summary td { border-right: 1px solid #bbb; }
+.coverage-summary td:last-child { border-right: none; }
+.coverage-summary th {
+ text-align: left;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.coverage-summary th.file { border-right: none !important; }
+.coverage-summary th.pct { }
+.coverage-summary th.pic,
+.coverage-summary th.abs,
+.coverage-summary td.pct,
+.coverage-summary td.abs { text-align: right; }
+.coverage-summary td.file { white-space: nowrap; }
+.coverage-summary td.pic { min-width: 120px !important; }
+.coverage-summary tfoot td { }
+
+.coverage-summary .sorter {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
+}
+.coverage-summary .sorted .sorter {
+ background-position: 0 -20px;
+}
+.coverage-summary .sorted-desc .sorter {
+ background-position: 0 -10px;
+}
+.status-line { height: 10px; }
+/* yellow */
+.cbranch-no { background: yellow !important; color: #111; }
+/* dark red */
+.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
+.low .chart { border:1px solid #C21F39 }
+.highlighted,
+.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
+ background: #C21F39 !important;
+}
+/* medium red */
+.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
+/* light red */
+.low, .cline-no { background:#FCE1E5 }
+/* light green */
+.high, .cline-yes { background:rgb(230,245,208) }
+/* medium green */
+.cstat-yes { background:rgb(161,215,106) }
+/* dark green */
+.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
+.high .chart { border:1px solid rgb(77,146,33) }
+/* dark yellow (gold) */
+.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
+.medium .chart { border:1px solid #f9cd0b; }
+/* light yellow */
+.medium { background: #fff4c2; }
+
+.cstat-skip { background: #ddd; color: #111; }
+.fstat-skip { background: #ddd; color: #111 !important; }
+.cbranch-skip { background: #ddd !important; color: #111; }
+
+span.cline-neutral { background: #eaeaea; }
+
+.coverage-summary td.empty {
+ opacity: .5;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ line-height: 1;
+ color: #888;
+}
+
+.cover-fill, .cover-empty {
+ display:inline-block;
+ height: 12px;
+}
+.chart {
+ line-height: 0;
+}
+.cover-empty {
+ background: white;
+}
+.cover-full {
+ border-right: none !important;
+}
+pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.com { color: #999 !important; }
+.ignore-none { color: #999; font-weight: normal; }
+
+.wrapper {
+ min-height: 100%;
+ height: auto !important;
+ height: 100%;
+ margin: 0 auto -48px;
+}
+.footer, .push {
+ height: 48px;
+}
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/block-navigation.js b/nezha-fronted/test/unit/coverage/lcov-report/block-navigation.js
new file mode 100644
index 000000000..c7ff5a5ca
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/block-navigation.js
@@ -0,0 +1,79 @@
+/* eslint-disable */
+var jumpToCode = (function init() {
+ // Classes of code we would like to highlight in the file view
+ var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
+
+ // Elements to highlight in the file listing view
+ var fileListingElements = ['td.pct.low'];
+
+ // We don't want to select elements that are direct descendants of another match
+ var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
+
+ // Selecter that finds elements on the page to which we can jump
+ var selector =
+ fileListingElements.join(', ') +
+ ', ' +
+ notSelector +
+ missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
+
+ // The NodeList of matching elements
+ var missingCoverageElements = document.querySelectorAll(selector);
+
+ var currentIndex;
+
+ function toggleClass(index) {
+ missingCoverageElements
+ .item(currentIndex)
+ .classList.remove('highlighted');
+ missingCoverageElements.item(index).classList.add('highlighted');
+ }
+
+ function makeCurrent(index) {
+ toggleClass(index);
+ currentIndex = index;
+ missingCoverageElements.item(index).scrollIntoView({
+ behavior: 'smooth',
+ block: 'center',
+ inline: 'center'
+ });
+ }
+
+ function goToPrevious() {
+ var nextIndex = 0;
+ if (typeof currentIndex !== 'number' || currentIndex === 0) {
+ nextIndex = missingCoverageElements.length - 1;
+ } else if (missingCoverageElements.length > 1) {
+ nextIndex = currentIndex - 1;
+ }
+
+ makeCurrent(nextIndex);
+ }
+
+ function goToNext() {
+ var nextIndex = 0;
+
+ if (
+ typeof currentIndex === 'number' &&
+ currentIndex < missingCoverageElements.length - 1
+ ) {
+ nextIndex = currentIndex + 1;
+ }
+
+ makeCurrent(nextIndex);
+ }
+
+ return function jump(event) {
+ switch (event.which) {
+ case 78: // n
+ case 74: // j
+ goToNext();
+ break;
+ case 66: // b
+ case 75: // k
+ case 80: // p
+ goToPrevious();
+ break;
+ }
+ };
+})();
+window.addEventListener('keydown', jumpToCode);
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/example.js.html b/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/example.js.html
new file mode 100644
index 000000000..346d9e4d9
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/example.js.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+ Code coverage report for components/common/js/example.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 13/13
+
+
+
+
+ 100%
+ Branches
+ 8/8
+
+
+
+
+ 100%
+ Functions
+ 2/2
+
+
+
+
+ 100%
+ Lines
+ 13/13
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+| 1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27 |
+
+5x
+3x
+4x
+
+
+
+4x
+4x
+4x
+3x
+3x
+
+4x
+
+3x
+
+2x
+1x
+
+
+
+1x
+
+
+ | /* 处理legend的别名 */
+export function dealLegendAlias (legend, aliasExpression) {
+ if (/\{\{.+\}\}/.test(aliasExpression)) {
+ const labelValue = aliasExpression.replace(/(\{\{.+?\}\})/g, function (i) {
+ const label = i.substr(i.indexOf('{{') + 2, i.indexOf('}}') - i.indexOf('{{') - 2)
+ // if (!legend) {
+ // return label
+ // }
+ const reg = new RegExp(label + '=".+?"')
+ let value = null
+ if (reg.test(legend)) {
+ const find = legend.match(reg)[0]
+ value = find.substr(find.indexOf('"') + 1, find.lastIndexOf('"') - find.indexOf('"') - 1)
+ }
+ return value || ''
+ })
+ return labelValue
+ } else {
+ if (!aliasExpression) {
+ return legend
+ // let result =legend.substr(legend.indexOf('"') + 1,legend.lastIndexOf('"') - legend.indexOf('"') - 1);
+ // return result
+ }
+ return aliasExpression
+ }
+}
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/index.html b/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/index.html
new file mode 100644
index 000000000..dfef36fb7
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/components/common/js/index.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+ Code coverage report for components/common/js
+
+
+
+
+
+
+
+
+
+
+
All files components/common/js
+
+
+
+ 100%
+ Statements
+ 13/13
+
+
+
+
+ 100%
+ Branches
+ 8/8
+
+
+
+
+ 100%
+ Functions
+ 2/2
+
+
+
+
+ 100%
+ Lines
+ 13/13
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+
+
+
+ | File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ | example.js |
+
+
+ |
+ 100% |
+ 13/13 |
+ 100% |
+ 8/8 |
+ 100% |
+ 2/2 |
+ 100% |
+ 13/13 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/index.html b/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/index.html
new file mode 100644
index 000000000..a6a90f185
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/index.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+ Code coverage report for components/common/mixin
+
+
+
+
+
+
+
+
+
+
+
All files components/common/mixin
+
+
+
+ 82.22%
+ Statements
+ 37/45
+
+
+
+
+ 70%
+ Branches
+ 21/30
+
+
+
+
+ 100%
+ Functions
+ 4/4
+
+
+
+
+ 82.22%
+ Lines
+ 37/45
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+
+
+
+ | File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ | mainMixinFun.js |
+
+
+ |
+ 82.22% |
+ 37/45 |
+ 70% |
+ 21/30 |
+ 100% |
+ 4/4 |
+ 82.22% |
+ 37/45 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/mainMixinFun.js.html b/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/mainMixinFun.js.html
new file mode 100644
index 000000000..8548a4b38
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/components/common/mixin/mainMixinFun.js.html
@@ -0,0 +1,340 @@
+
+
+
+
+
+ Code coverage report for components/common/mixin/mainMixinFun.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 82.22%
+ Statements
+ 37/45
+
+
+
+
+ 70%
+ Branches
+ 21/30
+
+
+
+
+ 100%
+ Functions
+ 4/4
+
+
+
+
+ 82.22%
+ Lines
+ 37/45
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+| 1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88 |
+
+
+
+
+
+2x
+2x
+
+
+
+3x
+2x
+
+3x
+3x
+
+
+
+
+
+5x
+5x
+
+
+
+3x
+2x
+
+3x
+3x
+
+
+
+1x
+
+
+2x
+
+
+4x
+4x
+2x
+2x
+2x
+
+2x
+
+
+
+
+
+2x
+
+
+
+
+
+
+
+2x
+
+
+2x
+
+
+3x
+
+
+2x
+1x
+1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+1x
+1x
+1x
+1x
+
+
+
+
+ | import bus from '@/libs/bus'
+import { hasButton } from '@/permission'
+import i18n from '@/components/common/i18n'
+export default {
+ methods: {
+ utcTimeToTimezone: function (time) { // 将utc时间 转为系统设者的时间 返回时间戳
+ Eif (time) {
+ return bus.UTCTimeToConfigTimezone(time)
+ }
+ },
+ utcTimeToTimezoneStr: function (time, fmt) { // 将utc时间 转为系统设者的时间 返回String
+ if (!fmt) {
+ fmt = localStorage.getItem('nz-default-dateFormat') || 'YYYY-MM-DD HH:mm:ss'
+ }
+ Eif (time) {
+ return bus.timeFormate(bus.UTCTimeToConfigTimezone(time), fmt)
+ } else {
+ return '-'
+ }
+ },
+ timezoneToUtcTime: function (time) { // 将系统设者的时间 转为utc时间 返回时间戳
+ Eif (time) {
+ return bus.configTimezoneToUTCTime(time)
+ }
+ },
+ timezoneToUtcTimeStr: function (time, fmt) { // 将系统设者的时间 转为utc时间 返回String
+ if (!fmt) {
+ fmt = localStorage.getItem('nz-default-dateFormat') || 'YYYY-MM-DD HH:mm:ss'
+ }
+ Eif (time) {
+ return bus.timeFormate(this.timezoneToUtcTime(time), fmt)
+ }
+ },
+ timeFormate (time) {
+ return bus.timeFormate(time)
+ },
+ hasButton (code) {
+ return hasButton(this.$store.getters.buttonList, code)
+ },
+ numberWithEConvent (num) {
+ Eif (num) {
+ if ((('' + num).indexOf('E') !== -1) || (('' + num).indexOf('e') !== -1)) {
+ const regExp = /'^((\\d+.?\\d+)[Ee]{1}(\\d+))$', 'ig'/
+ let result = regExp.exec(num)
+ let resultValue = ''
+ let power
+ Iif (result != null) {
+ resultValue = result[2]
+ power = result[3]
+ result = regExp.exec(num)
+ }
+
+ Iif (resultValue) {
+ if (power) {
+ const powVer = Math.pow(10, power)
+ resultValue = resultValue * powVer
+ return resultValue
+ }
+ }
+ } else {
+ return num
+ }
+ }
+ return 0
+ },
+ translation (key) {
+ return i18n.t(key)
+ },
+ timeFormatStrToDatePickFormat (str, flag) {
+ if (flag) {
+ const reg = /Y/g
+ str = str.replace(reg, 'y')
+ const reg1 = /D/g
+ str = str.replace(reg1, 'd')
+ const reg2 = /[H,m,s,:]/g
+ str = str.replace(reg2, '')
+ return str
+ } else {
+ const reg = /Y/g
+ str = str.replace(reg, 'y')
+ const reg1 = /D/g
+ str = str.replace(reg1, 'd')
+ return str
+ }
+ },
+ }
+}
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/index.html b/nezha-fronted/test/unit/coverage/lcov-report/index.html
new file mode 100644
index 000000000..c63545d8f
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/index.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Code coverage report for All files
+
+
+
+
+
+
+
+
+
+
+
All files
+
+
+
+ 46.78%
+ Statements
+ 109/233
+
+
+
+
+ 36.91%
+ Branches
+ 55/149
+
+
+
+
+ 42.86%
+ Functions
+ 9/21
+
+
+
+
+ 46.98%
+ Lines
+ 109/232
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+
+
+
+ | File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ | components/common/js |
+
+
+ |
+ 100% |
+ 13/13 |
+ 100% |
+ 8/8 |
+ 100% |
+ 2/2 |
+ 100% |
+ 13/13 |
+
+
+
+ | components/common/mixin |
+
+
+ |
+ 82.22% |
+ 37/45 |
+ 70% |
+ 21/30 |
+ 100% |
+ 4/4 |
+ 82.22% |
+ 37/45 |
+
+
+
+ | libs |
+
+
+ |
+ 33.71% |
+ 59/175 |
+ 23.42% |
+ 26/111 |
+ 20% |
+ 3/15 |
+ 33.91% |
+ 59/174 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/libs/bus.js.html b/nezha-fronted/test/unit/coverage/lcov-report/libs/bus.js.html
new file mode 100644
index 000000000..432a6dc88
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/libs/bus.js.html
@@ -0,0 +1,979 @@
+
+
+
+
+
+ Code coverage report for libs/bus.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 33.71%
+ Statements
+ 59/175
+
+
+
+
+ 23.42%
+ Branches
+ 26/111
+
+
+
+
+ 20%
+ Functions
+ 3/15
+
+
+
+
+ 33.91%
+ Lines
+ 59/174
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+| 1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301 |
+
+2x
+2x
+2x
+2x
+
+2x
+2x
+2x
+2x
+
+
+
+
+2x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2x
+2x
+2x
+2x
+
+
+2x
+2x
+2x
+
+
+
+
+
+
+
+
+4x
+4x
+4x
+
+
+
+
+
+
+
+
+
+
+
+
+
+12x
+12x
+10x
+
+2x
+
+12x
+12x
+
+
+
+
+
+
+
+
+
+
+4x
+4x
+4x
+4x
+4x
+4x
+4x
+4x
+1x
+3x
+1x
+2x
+1x
+
+1x
+
+4x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5x
+5x
+5x
+5x
+5x
+3x
+
+5x
+5x
+5x
+
+
+
+
+
+5x
+5x
+5x
+5x
+5x
+3x
+
+5x
+5x
+5x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2x
+
+
+
+
+
+
+
+
+
+ | import Vue from 'vue'
+import moment from 'moment-timezone'
+Date.prototype.setStart = function () {
+ this.setHours(0)
+ this.setMinutes(0)
+ this.setSeconds(0)
+}
+Date.prototype.setEnd = function () {
+ this.setHours(23)
+ this.setMinutes(59)
+ this.setSeconds(59)
+}
+
+export default new Vue({
+ data () {
+ return {
+ selectDate: [], // 选中的时间段
+ emailReg: /^[a-zA-Z0-9]{1,10}@[a-zA-Z0-9]{1,5}\.[a-zA-Z0-9]{1,5}$/,
+ // 创建策略信息
+ buildRuleInfo: {
+ triggers: [],
+ actions: []
+ },
+ backtoRulelist: '', // 返回策略列表页信息
+ // role: md5(1),
+ role: 1,
+ // 创建图表信息
+ chartAddInfo: {
+ metricTarget: []
+ }
+ }
+ },
+ methods: {
+ // 获取初始化时间,默认最近一周
+ getDefaultDate () {
+ let start = this.getDays(-7)
+ let end = this.getDays(0)
+ start.setStart()
+ end.setEnd()
+ // let start = this.getHoursTime(-1);
+ // let end = this.getHoursTime(0);
+ start = this.timeFormate(start, localStorage.getItem('nz-default-dateFormat') ? localStorage.getItem('nz-default-dateFormat') : 'YYYY-MM-DD HH:mm:ss')
+ end = this.timeFormate(end, localStorage.getItem('nz-default-dateFormat') ? localStorage.getItem('nz-default-dateFormat') : 'YYYY-MM-DD HH:mm:ss')
+ this.selectDate = [start, end]
+ },
+ getHoursTime (hours) {
+ const today = new Date().getTime()
+ const date = new Date(today + (hours * 60 * 60 * 1000))
+ return date
+ },
+ // 初始化日期
+ getDays (days) {
+ const today = new Date().getTime()
+ const date = new Date(today + (days * 24 * 60 * 60 * 1000))
+ return date
+ },
+ formatDate (date, type) {
+ const yy = date.getFullYear()
+ const dateM = date.getMonth() + 1
+ const mm = dateM > 9 ? dateM : `0${dateM}`
+ const dateD = date.getDate()
+ const dd = dateD > 9 ? dateD : `0${dateD}`
+ if (type) {
+ return `${yy}${type}${mm}${type}${dd}`
+ }
+ return `${yy}${mm}${dd}`
+ },
+ timeFormate (date, fmt = localStorage.getItem('nz-default-dateFormat') ? localStorage.getItem('nz-default-dateFormat') : 'YYYY-MM-DD HH:mm:ss') {
+ let time = ''
+ if (!isNaN(date)) {
+ time = new Date(date)
+ } else {
+ time = moment(date, fmt)
+ }
+ const fm = fmt
+ return moment(time).format(fm)
+ },
+ formateTimeToTime (date, fmt = localStorage.getItem('nz-default-dateFormat') ? localStorage.getItem('nz-default-dateFormat') : 'YYYY-MM-DD HH:mm:ss') {
+ if (isNaN(date)) {
+ const newDate = moment(date, fmt)
+ return newDate
+ } else {
+ return date
+ }
+ },
+ getStep (startTime, endTime) {
+ const start = new Date(startTime)
+ const end = new Date(endTime)
+ let step = '15s'
+ const numInterval = end.getTime() - start.getTime()
+ const oneDay = 86400000
+ const sevenDay = 604800000
+ const thirtyDay = 2592000000
+ if (numInterval < oneDay) { // 小于1天,step为15s
+ step = '15s'
+ } else if (numInterval < sevenDay) { // 小于7天,step为15s
+ step = '5m'
+ } else if (numInterval < thirtyDay) { // 小于30天,step为15s
+ step = '10m'
+ } else {
+ step = '30m'
+ }
+ return step
+ },
+ isEmptyObject (obj) {
+ if (obj) {
+ let name = ''
+ // eslint-disable-next-line
+ for (name in obj) { return false; }
+ return true
+ }
+ return true
+ },
+ validateEmail (rule, value, callback) {
+ if (value === '') {
+ callback(new Error('请输入邮箱'))
+ } else if (!this.emailReg.test(value)) {
+ callback(new Error('邮箱格式不正确'))
+ } else {
+ callback()
+ }
+ },
+ getNumStr (num) {
+ if (num >= 1000) {
+ const kbNum = num / 1000
+ if (kbNum >= 1000) {
+ const mbNum = kbNum / 1000
+ if (mbNum > 1000) {
+ const gbNum = mbNum / 1000
+ if (gbNum > 1000) {
+ const tbNum = gbNum / 1000
+ if (tbNum > 1000) {
+ const pbNum = tbNum / 1000
+ return `${pbNum.toFixed(2)}PB`
+ }
+ return `${tbNum.toFixed(2)}TB`
+ }
+ return `${gbNum.toFixed(2)}GB`
+ }
+ return `${mbNum.toFixed(2)}MB`
+ }
+ return `${kbNum.toFixed(2)}KB`
+ }
+ return num.toFixed(2)
+ },
+ getSingleStatRlt (statistics, result) {
+ let dataArray = []
+ if (result) {
+ result.forEach((item) => {
+ dataArray.push(item[1])
+ })
+ }
+ let statisticsRlt = ''
+ if (dataArray.length > 0) {
+ if (statistics === 'min') { // min:最小值
+ statisticsRlt = dataArray.reduce(function (a, b) {
+ return b < a ? b : a
+ })
+ } else if (statistics === 'max') { // max:最大值
+ statisticsRlt = dataArray.reduce(function (a, b) {
+ return b > a ? b : a
+ })
+ } else if (statistics === 'avg') { // avg:平均值
+ let sum = 0
+ dataArray.forEach((item) => {
+ sum = Number(sum) + Number(item)
+ })
+ statisticsRlt = sum / dataArray.length
+ } else if (statistics === 'total') { // total:总计
+ dataArray.forEach((item) => {
+ statisticsRlt = Number(statisticsRlt) + Number(item)
+ })
+ } else if (statistics === 'first') { // first:第一个值
+ statisticsRlt = dataArray[0]
+ } else if (statistics === 'last') { // last:最后一个值
+ statisticsRlt = dataArray[dataArray.length - 1]
+ } else if (statistics === 'range') { // range : max - min
+ const min = dataArray.reduce(function (a, b) {
+ return b < a ? b : a
+ })
+ const max = dataArray.reduce(function (a, b) {
+ return b > a ? b : a
+ })
+ statisticsRlt = max - min
+ } else if (statistics === 'different') { // different : last - first
+ statisticsRlt = dataArray[dataArray.length - 1] - dataArray[0]
+ }
+ }
+ dataArray = null
+ return statisticsRlt
+ },
+ // 将本地时区转为系统配置的时区
+ computeTimezone: function (sourceTime) {
+ let offset = localStorage.getItem('nz-sys-timezone')
+ offset = moment.tz(offset).format('Z')
+ if (offset && offset !== 'undefined') {
+ offset = Number.parseInt(offset)
+ const date = new Date(sourceTime)
+ const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果
+ const utcTime = sourceTime + localOffset
+ return utcTime + (offset * 60 * 60 * 1000)
+ } else {
+ return sourceTime
+ }
+ },
+ // 将本地时区转为系统配置的时区
+ computeTimezoneTime: function (sourceTime) {
+ let offset = localStorage.getItem('nz-sys-timezone')
+ offset = moment.tz(offset).format('Z')
+ if (offset && offset !== 'undefined') {
+ offset = Number.parseInt(offset)
+ const date = new Date(sourceTime)
+ const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果
+ const utcTime = date.getTime() + localOffset
+ return utcTime + (offset * 60 * 60 * 1000)
+ } else {
+ return sourceTime
+ }
+ },
+ getTimezontDateRange: function (offset = -1) {
+ return [
+ new Date(new Date(this.computeTimezone(new Date().getTime())).setHours(new Date(this.computeTimezone(new Date().getTime())).getHours() + offset)),
+ new Date(this.computeTimezone(new Date().getTime()))
+ ]
+ },
+ getNewTime (time, num) {
+ const date = new Date(time)
+ const newDate = new Date(parseInt(date.getTime(), 10) + num)
+ return this.timeFormate(newDate, localStorage.getItem('nz-default-dateFormat') ? localStorage.getItem('nz-default-dateFormat') : 'YYYY-MM-DD HH:mm:ss')
+ },
+ getOffsetTimezoneData (offset = 0) {
+ return new Date(this.computeTimezone(new Date().getTime())).setHours(new Date(this.computeTimezone(new Date().getTime())).getHours() + offset)
+ },
+ debounce (fn, delay) {
+ // 记录上一次的延时器
+ let timer = null
+ delay = delay || 200
+ return function () {
+ const args = arguments
+ const that = this
+ // 清除上一次延时器
+ clearTimeout(timer)
+ timer = setTimeout(function () {
+ fn.apply(that, args)
+ }, delay)
+ }
+ },
+ UTCTimeToConfigTimezone (utcTime) {
+ let offset = localStorage.getItem('nz-sys-timezone')
+ offset = moment.tz(offset).format('Z')
+ Eif (offset && offset !== 'undefined') {
+ let time = utcTime
+ if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) {
+ time = new Date(time).getTime()
+ }
+ offset = Number.parseInt(offset)
+ time += offset * 60 * 60 * 1000
+ return time
+ } else {
+ return utcTime
+ }
+ },
+ configTimezoneToUTCTime: function (configTime) {
+ let offset = localStorage.getItem('nz-sys-timezone')
+ offset = moment.tz(offset).format('Z')
+ Eif (offset && offset !== 'undefined') {
+ let time = configTime
+ if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) {
+ time = new Date(time).getTime()
+ }
+ offset = Number.parseInt(offset)
+ time -= offset * 60 * 60 * 1000
+ return time
+ } else {
+ return configTime
+ }
+ },
+ countDecimals (value) {
+ if ((value || value === 0) && Math.floor(value) !== value) {
+ const arr = value.toString().split('.')
+ if (Math.abs(arr[0] > 0) || arr.length < 2) {
+ return 2
+ }
+ const dot = arr[1].split('0').length + 1
+ return dot || 2
+ }
+ return 2
+ }
+ },
+ created () {
+ this.getDefaultDate()
+ },
+ computed: {
+ /*
+ isAdmin() {
+ return this.role === Cookies.get('owl_role');
+ },
+ */
+ }
+})
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/libs/index.html b/nezha-fronted/test/unit/coverage/lcov-report/libs/index.html
new file mode 100644
index 000000000..1f2f3ab74
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/libs/index.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+ Code coverage report for libs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 33.71%
+ Statements
+ 59/175
+
+
+
+
+ 23.42%
+ Branches
+ 26/111
+
+
+
+
+ 20%
+ Functions
+ 3/15
+
+
+
+
+ 33.91%
+ Lines
+ 59/174
+
+
+
+
+
+ Press n or j to go to the next uncovered block, b, p or k for the previous block.
+
+
+
+
+
+
+
+ | File |
+ |
+ Statements |
+ |
+ Branches |
+ |
+ Functions |
+ |
+ Lines |
+ |
+
+
+
+ | bus.js |
+
+
+ |
+ 33.71% |
+ 59/175 |
+ 23.42% |
+ 26/111 |
+ 20% |
+ 3/15 |
+ 33.91% |
+ 59/174 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/prettify.css b/nezha-fronted/test/unit/coverage/lcov-report/prettify.css
new file mode 100644
index 000000000..b317a7cda
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/nezha-fronted/test/unit/coverage/lcov-report/prettify.js b/nezha-fronted/test/unit/coverage/lcov-report/prettify.js
new file mode 100644
index 000000000..b3225238f
--- /dev/null
+++ b/nezha-fronted/test/unit/coverage/lcov-report/prettify.js
@@ -0,0 +1,2 @@
+/* eslint-disable */
+window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^