用D3js的区域生成器实现简单波浪图
最近做控件遇到含有波浪图的图表,一开始用Echarts虽然很快完成了,但Echarts的波浪图与其他图表的响应式不同步,于是学习了D3js,D3js写起来确实复杂一些,但能够实现的效果也更丰富,做的时候查了不少资源,讲真的,网上教程挺少的,很多都重复,我分享下我的方法。
先看一下效果:
aaarticlea/gif;base64,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" alt="water">
我只做了简单的效果,想控制波浪的流速、高度就跟据应用场景自己设计,我在控件中是用比例尺。
D3中有一种叫区域生成器的东西,可以生成一个上方是不规则形状,其余三边都是直线的区域,主要就围绕这个来做。
先定义一个画布
var width = 200;
var height = 500;
var svg = d3.select("#body")
.append("svg")
.attr("width", width)
.attr("height", height)
然后用数组控制波浪的形状
var values = 0
var dataList0 = [values - 2, values - 3, values - 4, values - 3, values - 2, values - 1, values, values - 1]
网上的50行代码的版本大家应试都看到过,是将数组的每一个数组放到最后,循环这个操作就可以了,本人比较小白,有几个地方看不懂,所以用了比较直观的方法,多定义些数组
var values = 0
var dataList0 = [values - 2, values - 3, values - 4, values - 3, values - 2, values - 1, values, values - 1]
var dataList1 = [values - 3, values - 4, values - 3, values - 2, values - 1, values, values - 1, values - 2]
var dataList2 = [values - 4, values - 3, values - 2, values - 1, values, values - 1, values - 2, values - 3]
var dataList3 = [values - 3, values - 2, values - 1, values, values - 1, values - 2, values - 3, values - 4]
var dataList4 = [values - 2, values - 1, values, values - 1, values - 2, values - 3, values - 4, values - 3]
var dataList5 = [values - 1, values, values - 1, values - 2, values - 3, values - 4, values - 3, values - 2]
var dataList6 = [values, values - 1, values - 2, values - 3, values - 4, values - 3, values - 2, values - 1]
var dataList7 = [values - 1, values - 2, values - 3, values - 4, values - 3, values - 2, values - 1, values]
现在我们把区域生成器放上去,网上很多教程都是v3的,生成时用的 d3.svg.area() ,新版本是 d3.area() 曲线用的是 .interpolate("basis") ,新的版本是 .curve(d3.curveBasis)
var areaPath = d3.area()
.x(function (d, i) { return i * 20 })
.y0(function (d, i) { return height / 2 })
.y1(function (d, i) { return - d })
.curve(d3.curveBasis)
最后加属性,并让数组波浪起来
function run() {
svg.append("path")
.attr("d", areaPath(dataList0))
.attr("fill", "rgba(0,118,184,.4)")
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList1))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList2))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList3))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList4))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList5))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList6))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList7))
.transition().duration(100).delay(0).ease(d3.easeLinear)
.attr("d", areaPath(dataList0))
.remove()
.on('end', run)
}
requestAnimationFrame(run);
不建议用计时器, requestAnimationFrame(run) 配合 on('end', run) 的效果更好,.remove() 是让删除之前的动画,ease(d3.easeLinear) 一定要加,会让动画看上去更流畅,不加就是幻灯片-_-b
aaarticlea/gif;base64,R0lGODlh9gHgAPcAAP//////AP//KP//bP//Vv//v///Cv//Rv//Bv//Av//Tv//dP//fP//IP//MP//vP//Ef//g///j///Hf//9///Yf//P///pP//rv//WP//fv//Nv//Fv//EP//UP//dv//cP//XP//3v//1P//yv//+v///v//0P//8v//7P//hP//lv//nP//vv//tP//jv//3P//4v///P//tv//wv//1v//hv//YP//Hv//0v//xv//rP//pv//5P//2v//Sv//eP//mv//Lf//Of//wf//+f//E///t///m///kf//h///Rf//a///af//Y///Sf//Zf//Gf//N///Xf//Q///4f//8f//5///A///Pf//Kf//I///3///l///if//o///x///q///of//qf//6f//7///9f//r///yf//z///ef//U///O///uf//n///k///Mf//sf//7f//0f//Ff//C///MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQEBwAAACwAAAAA9gHgAAAI/gABCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTqoUpw0wZMjFg1EiDhsaDGWfGfGGxQoKXCCpedBETxkULMHN89JBDYa3jx5AfFpj8IA6PIBIiABlQgcAPC3YETICAIIDp06hTq16dOkEdOjgEwGFzYM2NAWpsvHGzo42OHFxSFIlMvPhW1siTK1/OfDkCIw2EDFmiIEMFJgs0KEmC5AKGI0RI/owQccVKiZIoqpwwzr49RBPN48ufT79+ACwGOnCYsEWLgw1ZUPGEBwSE4EQTIHzAAAMLDADFFAQocIAFUjggQANRQGBAAqc15t6HIBpk34gklmjiiamFqKKKKLbo4oswriijezDWaOONzc2oY3E49uhjjzsG+diPRBaJopBIpmXkkkzOl+STZTUp5ZSsQWllWFRmmeWVXHal5ZdNdilmVmCWWeSYaFZl5ppApukmVGzGWeObdDYl550t1qlnUnj2WeKegBbl56D1BWpoUIQmGt+hjPak6KPKNSppTpBWutqkmNZk6aanZeppTJxy+umoLYW6KamopmSqpam2WtKq/pW6KmtIsEI6660d1foorrxmpKuivQZb0a+JCmtsRMQSeuyyDSU7KLPQJuSsn9FWW9C0fVqrLQDY4rmttd3e+W214co5brTlxnkutOmyuS6z7a757rLxmjnvsfWWea+x+YK5r7D9fvlvsAFrOXCvBW95MK4JU7kwww1L+fCtEUs8sawVh3mxqxkzuTHHHRv5cashizwyqiWfeTKpKRO5Msst+/jyqDHLPLOnNbd5M6Y547hzpj3f+DPPQc85tKRFG300o0nHuDTTTbv4NNRRHzm1oVXneXWgWVu99Z5dn/g1oGGbODbYZZN4tp5pq702nW2P+DbccRc6t5t12303/pp507d3mn07+feYgcs3OOGF53h4l4krvviVjTP3OJeRLzc55JUnd7mVmWu++ZOdI/c56KFfOjqSpZt+epCpq7a6kK2n+PqOsaM2O+21m3a7jrnrvruMvQfwO/C9D79i8MazWHzyICLP/IfOP99e9NIbR331xF2PPWTab+9Y996rBX74aI1Pvlnmn09W+uqLxX77YL0Pv1fyz89V/fZrhX/+WO3Pv1X++x9VAihAqRCwgHBaHgKxpMAFfuWADmQKBCOolAlSECkWvKBRMqhBonCwg0L5IAiBIsIR+qSEJuQJClOokxWyECcufKFNYihDmtCwhjK5IQ5hosMduqSH8j5kCRCDqJIhEhElRjyiSZKoRJIwsYkieSIUQSLFKXqkilbkCBazqJEtchEjXvyiRcIoRoqQsYwSOSMaIaLGNTqkjW5kCBzjqJA50hEhdryjiBqoR0rxsY83ySMgBSLIQRYSkIfsYyL1uMg7NpKOj4xjJN04yTVWEo2XLGMmxbjJL3aSi5/MYiitOMoplhKKp2xiKpW4yiO2koivDGIsfTjLHdYSh7esYS5luMsX9pKFv0xhME04zBEWE4TH7GAyNbjMCzaTgs+MYDQdOM0FVhOB1xykNrfJzW5685vgDKc4x0nOcprznOhMpzrXyc52RiQgACH5BAEHAAAALLEACwCMAAQAhzLNMv//QP//v///////AP//2v//aP//0v//Hv//Jf//of//Lf//4f//vv///v//5P//9v//tP//YP//Rv//bP//jv//hP//PP//KP//NP//Dv//Fv//2P//4P//0P//Av//jP//Nv//Pv//GP//CP//EP//eP//xP//+P//zv//9P//6v//xv//rP//7P//IP//Bv//hv//Lv//Ev//OP//Xv//VP//L///Uf//H///J///w///y///+f///f//1///k///e///n///3///uf//cf//Af//Cf//G///S///Qf//0f//x///7f//7///9///q///Of//E///U///l///ef//O///Mf//B///6f//8f//Ff//yf//5///wf//C///swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAizAAEIHEhQIAotWRgUOMBjh4CHECNKlHgixQ8GK1T4GMCxY8GPIEOKHEmypMmPJgzgEBHiho4cI0ocMUKgps2aJ02SmIEkgQwaSpLYqGGgSJAYQIS0IMLiwBAXPTpyzEm1qtWrWLOKhCHlxYIoE6ZIoFDFQgUqCqBEaMBkSYEHTZ5I9ai1oAMITrp04OCBixcwCkDUHUw464cvWxBguGIlgOPHkCNHvpBhQQIEGzRgucl5YEAAIfkEAQgAAAAssQALAIwABACHMs0y//////8A//+T//9w//98///f//+5//+p//9D///5///G//+s///s///S//9s//9g//92//+G//8w//8W//9Q//82//9W//9c//8Q//8K///u///i///A//9G//8g//8G//8j///P//8d//+D//8D//8p//9j//9J//9p//89///1//9T//95//+f//8T//8t//85///X//+W//+2//+c//+a///m///I//+i///W///M///8///c//+e//9O//8a///C//+8//+j//+P//+J//+v///v///p///J//8z///9//+H//+1//9l//+L//+x//9ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgAAQhcsmLDDQMyRODocAAKghw2BjwhQaIIkRk1hiAwQkNIkCQidPTggOTICh4BUqoMILCly5cwY8qcSbOmzZstBejcyVMnTpwgXnyAEcMDCwgPWkgY4ILBgQUODDRQsLIqy59Ys2rdyrVry6BDix5NurTp06hTrar1+lLBBg4ydnRogsDHACYFCDiJ8iOBEiAC2AoeLLOEhgwURoQwMcGCigQoKlzAcCIFgQgFCkQgkOIEhgsVUCRQYWGCiRAjKGTQUKLnTpsBAQAh+QQBCAAAACyxAAsAjAAEAIcyzTL//4D//////wD//9L//2z//3v//7///8b//4b//6z//17//1T//yD//+z//wb//2j//0b//2D//+H///n//3H//0v//0H//9///1P//3n//zn//xP//y3//5///5P//7n//07//xL//1j//xD//wj//0j//y7//3j//3T//27//2T//zj//37//z7//+T//9r//x7//wL//47//4T//77//7T//yj//6j//7j//1z//4r//+r///T//8T//87//8f//9H//6v//5f//6H//5H//+3//zv///H//8P//zH///f//wv//xX//6P//x///wH//0X//y///5n//9f//03///3//yX//xv//7P//2v//1H//1v//2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuQCzOCkSoKDBgwgL0pgxhIgQGzWABIHxwsgSARgzCgDAsaPHjyBDihxJsqTJkyhTnpTBpEmMG0qORMggoYCGBB88KACBgAAGBxQ0blRJtKhRjkgmEEhyoOnRpygfcGjQYcPMmjdz7uz5M6hGqCWt9OAxgcoPHzlwTNlhoICOKi6kPCEBZYDdu2Dz6vUoleqGC1FMWAixhcEILgu6rICgRUWFFCgMtDBQAcICBhYusDhxBYuIEndDHw0IACH5BAEIAAAALLEACwCMAAQAhzLNMv//////AP//Rv//YP//0v//n///k///Bv//7P//xv//hv//rP//IP//bP//uf//+f//3///Of//E///Lf//ef//U///Xv//VP//aP//Qf//S///c///e///cf//Ev//Lv//OP//CP//GP//DP//SP//ZP//bv//dP//WP//eP//fv//Tv//sv//rv//uv//tv//qv//iP//hP//kP//jP//6v//zv//Ov//9P//xP//sP//3v//gv//jv//o///p///vf//1///l///m///u///pf//mf//9f//6f//x///I///L////f//Af//G///Jf//W///Uf//Rf//4f//a///YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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yIGTTQh4cDKgpcsBD2PKnFmwAwQQBCJ8kEChwgMLBRBMSLAEiYsYSZTACMC0KVOaDZn0sBKFB5QfBQz4qLIDxw0dVDzkIDHl5UuoCm3i1MnTJ1ChCS5sWMBBgdO7AdDq3WswhAgpT0ac0ICBgYMGGQykMKACRYYWWxqw4OKgywoGWkxgKHFFg1y6dvHm5UtaZkAAIfkEAQgAAAAssQALAIwABACHMs0y//8A//////+e//+f//+T///5///f//+n//9T//95//9G//9g//8G//8g//+s///G//9s//+G//+6//9k//9I//94//9u//8O//+U//8+//8Y//9O//+u///S///s//8T//8h//8F//+B//+L//+x//9b//8r//81//9R//+5//+H//8t//85//90//9Y///i///u//9+///e///6///U//+k///K///M//9q//9i//+I//+2//+Q//9a//98///A//9w//9E//8a//9h//9F//+b//+R//9r//9L///P///v//+9//9x//+X//9l//9Z//+p///X//+1//9D///B//+3///n//8z///xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMUAAQgcSLCgwYMIEypcyLBhQhpZrsyocaOKlQ42jBxZIcMFEiIvOBQRkiSBDx05migAsKOHEwIIOvBgouTAEgE4cwpwyLOnz4UGPhzwAEHFAwIFJCiIwCDBghYsHIBoEKCq1QA/ew7BQoUDlCdBfqwoMCDKFCA4pMCIYUBnzqwOgw4tejTp0qZPo069ihWu378LRWDYEOIECg0VUpigcMHCCBIZBiAoMWFCCQQDMpAYYeECBRMpKmhAcSLEBgwi+AJezXpgQAAh+QQBCAAAACyxAAsAjAAEAIcyzTL//wD//////9L//+z//4D//2j//6z//4b//77//8b//17//2z//3j//1T//2D//0b//wb//47//yD//xP//0H//0v//1P//zn//y3//5H//3H//3v//6f//+H//1H//xv//9////n//7n//5P//3n//5///3T//7D//97//1j//37//4L//07//27//wz//2T//0j//zr//xj//67//7T//57//6T//7r//+r///T//8T//87//5T//wj//xL//yb//wT//y7//5z//4T//zj//8r//w///5f//6H//z3//zH//5v//yX//4X//7P//9X//4H//4v//4f///f//6v///X//+n//yP//wH//6X//5n//8f//7v//y///9f///3//7H//7f//1v//0X//2v//2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyAABCBxIsKDBgwgTKlzIsKFAMDpyePjCY0cCHGJqhKFRpcONJDaYIOmhQYKUKUSiONEwpMOTBEageCBARYDNmzcd6tzJE6EIAiEGKBhxwAQJBBw2GFjgwEKFIkKagPjhI4DVqwF6NgxyBASQJUo+GGhQoCwLCVu0oOjCZUCKK1Zw2tS68GfQoUWPlmDw4AIEDBkmUIiAtXBWuogTK8zyYgYWLzIqkIlhocUHByrGLDADw0AZFxtONOCwYm/fv4EHG8aquLVrhAEBACH5BAEIAAAALLEACwCMAAQAhzLNMv//////AP//Vv//bP//KP//v///MP//Av//fP//Rv//Cv//dP//Tv//Bv//IP//vP//P///Ef//Yf//g///Hf//j///hP//fv//jv//WP//pP//3v//+v//1P//rv//yv//UP//XP//Nv//EP//Fv//cP//vv//tP//2v//dv//5P//hv//rP//3P//1v//YP///P//4v//7P//xv//0v//wv//mv//eP//pv//8v//0P//tv//Hv//nP//lv//Sv//qf//o///C///z///yf//r///l///of//q///if//M///sf//6f//k///n///uf//U///ef//O///9f//Ff//7///3///Mf//+f//x///Rf//a///h///Of//Gf//E///Lf//5///8f//4f//wf//kf//m///t///I///Kf//Pf//A///0f//7f//9///Zf//Xf//N///af//Q///Sf//YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjSAAEIHEiwoMGDCBMqXMgw4Rs3K1K00XICRRIkRzJcoKDEwg8fQoIY4QHBRhEiL1zIaGKFSowAMGPKDNCwps2bN7PMuFKDBpQWT5ywkEIARhQFU7AU6FFlCAIBUKPiVOhAQoUCSyIAGTCBAA4KFm7kYALBgNkdZHTMXDsVYYcxYjh4AFEGzYcNZ8x0wcCAywQNDbZ4CfMAjIOoUNsqXtwQwQIJXx4UOCAngoIGA+LAIcAgQQIVJubYETEgRB06a0YcUJOmQgkSC9ggni2Ase3biwMCACH5BAEIAAAALLEACwCMAAQAhzLNMv//AP//////QP//bv//SP//2v//VP///P//rP//zv//aP//Rf//Qf//W///of//Uf//Rv//bP//YP//9P//uP//iv//hv//xP//6v//Xv//fv//ev//OP//CP//Ev//Lv//dv//PP//Bv//IP//TP//cv//WP//UP//jv//hP//lv//tP//7P//5P//vv//1v//3P//4v//wv//nP//tv//vP//Dv//GP//Pv//Av//XP//KP//Hv//uv//xv//0v//nv//ZP//eP//lP//+f//9///7f//3///i///p///sf//l///g///if//8f//0f//x///q///C///Bf//If//Ff//c///O///Mf//Nf//5f//gf//w///K///f///lf//j///E///Lf//Of//Ef//Y///X///Kf//U///1///4f///f//uf//ef//k///n///z///6f//7///yf//o///qf//r///9f//e///a///Z///cf//G///Jf//SwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjTAAEIHEiwoMGDCBMqXMhQIAI8c+TIiAEjDp0ZNmrcsVOHxoowTpqoSMHkgRQWL6JAMeDiiBEBMGMKaEizps2bRVogAfLDxxIlQYgk4TKEgBAHEArk0OKlCo4bVAJInRrgZkIdU6z04JEFCwMIOxZc+WIBzIMEFbooMLDlCQKZMK0yZEMhwxo1CjC0SQDnzQU3EiakiUBmDAkxI6gqriq3seOFZdCIGEC5AYMCJVAcOOHgjJk9egiYCMFhQx4+CzQc+NOgAwg/fT54WMz4se3buAkGBAAh+QQBCAAAACyxAAsAjAAEAIcyzTL//wD//////4D//2z//yD//2D//77//8T//9L//wL//2j//+z//0b//wb//4T//47//4b//8b//6z//7T//3v//4f//y3//xP//5P//7n//5////n//9///3n//6v//5f//6H//1P//zn//9r//zD//+T//+L//1z///L//x7//yj//0L//3z//07//2T//1j//6b//7r//87//+r//67//5T//57//6T///T//1T//17//5b//zj//wj//xL//y7//4v//5v//5H//3H//0v//4H//7X//9P///3//xv//0H//yX//7H//6f//7f//+H//9f//13//z///3///3P//3f//+3///f//9H//xH//8f//zv//0X//zH//wv//xX//1X//2///1H//0n//00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIxAABCBxIsKDBgwgTKlxIkAODDgkkaJiwIUMEIw8sBIEwxAYIITdC4HDyoUYTCk9kHEAwIwoUGjmSCJhJk6HNmzhzHnQIUSJFix4IGBDRYMSFAhgcBFjKtKlOhT5+KGECpMeSIjp2LCBSwQKPGEcQIDmRgqbZmU8ZYrligkSWLQcofAgBAsKDoEOLHk3aNEDav4BtKtBSoMQUF1IItBjAuDGVClaqiCGw4IUBFDDCjClDpgsLLl5WqADzRUFfv4FTq17NMCAAIfkEAQgAAAAssQALAIwABACHMs0y//8A//////96//9g//+s///g//+S///t///5///F//8U//86///S//9s//+G//8s//8S//8G//9S//+g//+6//+4//9Y//9c///s///4//9t///f///T//+t//+R//+J//9p//+f//95//85//9T//9F//8f//9f///r//+F//8t//9H//8H//8h//+e//90///e//94///K///G//+i//9k//84//9G//8g//+2///6///W///A//+C//9U//+U//8I//+a//8u///L///h//9l//+j///3///H//+H//9h//+5//8T//+///+1///V//+T//9r//+B//9z///R//+Z//+rAAAAAAAAAAAAAAAA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Bv//KP//1v//vP//YP//9f//x///g///Yf//sf//Uf//Bf//Mv//FP//hv//0v//xv//Qv//7P//IP//+v//3v//1P//Sv//pv//mv//Vv//dP//WP//Tv//fv//yv//rv//pP//tP//hP//lv//5P//2v//vv//3P//4v///P//nP//tv//wv//Dv//GP//Pv//Rv//Hv//Av//lP//nv//uv//SP//ZP//bv//5f//9///p///i///o///7f//of//q///0f//if//l///ef//k///O///U///3///+f//n///uf//Nf//K///gf//W///Ff//Mf//If//C///a///Rf//Of//h///t///m///kf//f///nf//u///b///Lf//E///I///6f//7///j///z///qf//r///yf//8f//5///wf//Ef//P///M///HQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjSAAEIHEiwoMGDCAnKaMBmTQwYCtzEqbGABpw3RmawALDkwQoDTJAkUfHCgRIXLY4MCcCypcsACWPKnEmz5sAGQhQ48BGBSA8eRa4cCAIEi4QfOKpY2XLDxgQBUKHapLmDSxYdCbQ8yQGFAYEmFpxMKUAFw4UoGqS8fDm1rcABcM0UKGOAzBkGEjJQUFPhadS/AtwKHkwTQZoNaL54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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjFAAEIHEiwYMELHkq0sIChwgcOEiZQKEAiRIYNIESMGCECxIYMIUgUoDBBAocPFTBYaFHCw4UAMGMGMEizps2bOHPqTDJACY8dBXosMaKBAIIOR3wg+SGgqdOnTnVKTZBCgQoUBkwceHACwooXEWA4WOBiAAuZaGdKXcuWINSnbePKbUvVKlatXL2CFUvWbNq/cwMLHky4LRQgRIpEkfJkSBAmTZwwEDKDwBUaDWTUyNFAww0sWQhYmWIDAQMcOjpQqRJDQEAAIfkEAQgAAAAssQALAIwABACHMs0y//////8A//+///8T//8t//9s//+G//+s//8e//9G//9g//8g//9Y//9u//8G///G///S///s//+E///k//+O//++//+0//+h//+X//+r//9x//9B//+R//95//+T//85//9T///f///5//+f//+5//9e///c//9o//9k//9I///C//9U//9O//9M//96//8I//8q//90///+//9+//94///O//84//8o//+U//9E//8W//8K///a//8C//9m//+6///w///Q//+k//+e//9a//+u///R///t///H//+L//+H//+B//8L//8h//8V//87//8x//+z///3//+j//9P//99//9h//9b//97//9r//9R///Z///7//9L//9F//+x//+3//+b//+n///F//81//9j///n///zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgAAQgcSJDgDDRnTgghYwFImAtgjGgYMwQDETEZcnSooGTJBCYTKmTAoOGChSRHelBAMiWAy5cBCsqcSbOmzZs4cUqh0sHKhh9Fqui4UcDJDh4CkirNyVSmjyZPEuCIAkVBiAUGPBz4QAJBCQgRREgYATNm07No06pdy5bmAwIMCoCwilUrV69gxZKF2bZmlyAUuNhYMaBw38OI+76NC4LDFxVeWmxh0QCLiSspUGhxsEFGjSw0Xjgw08AFhzIxEhCAobS1AAABAQAh+QQBCAAAACyxAAsAjAAEAIcyzTL//////wD//2D//0b//+z//9L//0D//wb//yD//1T//17//2j//2z//4b//6z//47//77//8b//9///5H///n//xP//6f//3H//3v//0v//xv//0H//1P//5///5P//3n//+H//y3//7n//zn//8r//3j//37//y7//xL//5z//zj//3T//0j//07//xj//zr//27//wz//1j//2T//6T//67//5T//57//wT//yb//7T//7r//4T//7D//97//wj//4L//87//8T///T//+r//4v//9X//7P//4X//4f//4H//5f//z3//7f//w///zH//6H//5v//7H//6v//6X//7v//3P//5n//8f///3//9f//+n///X//yX//yP//y////f//wH//0X//2H//2v//1H//1sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyAABCBw4MEyBEEdKREByQQWFJEt6KDECgcINJlJwRKlxgYqNKTuc8IggwcCEAhUCqFypkqDLlzBjypxJs6ZNgQdyNoGiY8OTHAKCBr1JVCACCwlEkCDQYUADEA4+eHgwouTJlCyzFt3KtavXr12PJl3a9GnUqSOGCNkSoggRLVlXgpXZhcsPA1ms+KiCBUKQKwMIzB1MmCiQFBu8oFjBQYOCBQwwZDiRwQQLDDHKMKBBZsGZGQrMuNDQYgwHGGC+vJAhRujQmAEBACH5BAEIAAAALLEACwCMAAQAhzLNMv//AP//////nP//UP//3///E///7P//bP//Cv//0v//rP//hv//xv//cP//XP//fP//dv//Vv//Fv//EP//Nv//MP//YP//Bv//uv//Rv//IP//Pf//Q///Hf//A///Kf//I///z///r///if//7///Sf//Y///af//k///n///uf//ef//Lf//Of//U///+f//q///jf//tv//lv//wv//vP//lP//pP//vv//mP//oP//6P//yv//3P///P//4v//Iv//BP//1v//fv//bv//gf//6f//hf//9f//g///qf//o///j///yf//X///2f//Qf//Mf//9///p///kf//t///swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjFAEsUEJEjg5UrI2JQwbFjgI4bVWSQQGJECYkmNAYwWTJiho0aTkQM8QHkSIkkPwSoVAmgpcuXMGPKnEmzps2bOF8G2MmTZ86fLTEY2NDChYYXFxCwYJBCxYIVDRQUOABjJUugWLNq3cq1KwChRI0iVcrUKVSpVK2u9FpzCg8oPTLEGCCDSJEnBKJICWJAiE+2gAO//JCAwgQPIUBYqMChgwkCEh6cQOEgAgQIERygOPFAAgETHThUsAAihIcJFBJ86LkzZ0AAIfkEAQgAAAAssQALAIwABACHMs0y//////9A//8A//+A///k//8e//+E//+h//+X//+0///O///a//8I//++//8o//8C//+M//+O//8L///3//9B//+T//+f//87//8V//8x///H//+r//8T///t///R//9g//8G///C//9G//8g//9Y//9M//8q//9s//96//9u///w//+6//+2///E///0///q//+Q//+I//+q//+y//+u//8S//+s//+G///G///s///S//84//8u//9U//9o//9e//9L//9x///9//8b//8l//97///7///Z//+z//+5///f///5//9T//85//8t//9j//81//95//+9///X///h//+b//+j//+nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMQACQgkcEBGhBgWEli5cAXLjBo0WrCY4mIBlSowXgwJwLGjx44AQoocSbKkyZMoU6pcybKlS5MNbBAp0oNHhSA+gPwQYgSHhQs3lOTYsUQHk48fXypdyhTAkRUFkCwQkQRBhKZYUYboQOKJkxFNQKCQckBCAgQcFDjY8IFBAQ8UkAbISpKChwIMPmxwoIADggQSDqRQAaWEiQpRThjo0GCA48d0I0seCWFCBgMPNGAQwLmz58+fMWh4YCDDBAiPU6se0DQgACH5BAEIAAAALLEACwCMAAQAhzLNMv//////AP//QP//+v//Tv//OP//rv//fP//cP//Cv//nv//h///1///Kf//+f//Q///cf//U///k///n///dP//WP//Gv//9P//3v//zv//6v//pP//fv//1P//yv//UP//Vv//XP//Nv//EP//Fv//MP//Lv//Ev//CP//VP//dv//aP//Xv//xP//bv//ZP//SP//eP//xv//uv//lP//4v//zP//wP//7v//Pv//GP//Dv//Rv//IP//Bv//YP//rP//hv//bP//3P//7P//0v//kP//RP//Yv//gP//qf//tf//E///If//Bf//Hf//I///Pf//Zf//Wf//A///3///sf//p///vf//zf//6///Uf//Nf//K///i///gf//W///m///t///kf//a///ef//wf//4f//uf///f//5///8f//Yf//af//e///Y///Lf//Sf//Of//G///Rf//Jf//S///QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjRAAcIhFCAypQECBhMWLCECY4bDWzkeBCgosUAADJq3Mixo8ePIEOKHEmypEmST3jscOKli44YXMLAeCEDzJcaC7BcoTHDiJUiFC+eHEq06EYCW4hoyXKAwhElEZJIQCJwgNGrG3808RFnTg8JQIaYETKBQpA0LjQ0QLMBg5qLFbFyJMBmTQYPH86MOcBBDBkGHSqUaWOhQB0DDi4oEMC4sQC5kCNvTIGCjp0TBvDcUdGCRYQ3CFYkcANHRAgQciBIGWHCQRQoJUgoqOK4sWSPAQEAIfkEAQgAAAAssQALAIwABACHMs0y//////8A///S//9g//9G//9T//+s///G//+G//9s//8G//8g///s//9e///f//+5///5//8T//+f//85//8t//+T//95//9U//9o//9B//8l//9L//9x///h//97///O///E//84//8S//8I///q//8u//9I//94//90//9u//9+//9O//9Y//9k///0///Q///y//8Y//8M//+O//+C///e//+w//86//88//9q//8O//8a//+u//+6//+A//+M//8j///p///H//8B///1//9H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RwYPH3Tc4FAAx4oOHVbgKMDhho4PHjLksIFhwwwZNTSAoPEX8ODXCAMCACH5BAEIAAAALLEACwCMAAQAhzLNMv//AP//////gP//k///n///3///7P//0v//bP//Rv//YP//xv//Xv//VP//eP//rP//hv//aP//Bv//IP//hP//U///ef//uf//Of//cf//e////f//S///Lf//E///Qf//O///l///+f//vv//2v//5P//tP//fv//jv//dP//bv//KP//Hv//Av//SP//ZP//WP//Tv//sv//tv//rv//kP//qv//6v//9P//zv//uv//xP//jP//Ev//Lv//CP//Sv//LP//ov//iP//wP//OP//7v//1///vf//4f//a///Hf//Df//p///z///Jf//G///sf//o///m///g///q///of//C///x///9///7f//0f//Ff//Uf//W///Yf//Wf//Mf//af//RQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjFAAEIHEiwoMGDCBMqXMiwoUOEHHLgUIJEB48kO2jMqHHDyZQCVEQQsNGDSIUBKFMOqEJgiJQiTwwc4SCgps2aD3Pq3ElwxAEDCBhggFCAQIQNGiQ0cNABhJEfUKL4ABKgqtUAPBs2YSIkRJAwYx5USCHiipUTJLJwKWFii5abNrMq9AlUKFGjFxIssKAggwcKHyZcHYxVruHDBl1g6dKChZgQIMi86CDDi4MYXxqAgSFhyQoNKh5sQJF3b9+/gQlfRcx6YUAAIfkEAQgAAAAssQALAIwABACHMs0y//8A//////+///+k//9e//+6//+u//++///h//+R//+3//+r//+X//9T//8x//8D//8l//90//9Y//8G//8I//9O//8g///6///0///q///e//9+///K///U//9Q//82//9c//9W//8Q//8K//8w//8W//84//9U//8S//8u//92//9w//9o//98///O///Q//+g//+c///y///G///S///s//+0///a///k//+O//+Y//+U//+E//+s//88//8a//8O//9q///E//+M//+A//9g//9s//+G//9G//8C//8e//8o//+h//+B//+F//+J//8d//8j//8p///3///H///R///t//+N//95//+T//+f//8L//8V//87//+z//+v//+n//+5///f///5//+H//+b///B//9F//9h//9r///n//+j//91//9H///x///9///X//9j//9p//97//89//9D//9J//9x//8T//8t//85//9L//9B//8bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNIAAQgcSLCgwYMIEypcyLChQ4FUruTAYaUKghsMmjTQ0cPJEyhYFPDYISMGgTAMwHxZYADBgJcwEswQQLNmzYc4c+o8SMbGmBo0xPjYogVJliNGHCTx8oDJki5clASYSnXnQghBgER48MONgwJC2hQh0oDNAQNDXsRJoCEDHJs0rR7E8GbNBg8dziw4QMCMgjIcJKhJM8ECmj16LuShQHWq3MeQF1ZI4SeCihN9+KAo0AIPHRcrWMyRE0LEhzt26oAoMUVKFBMjSEBoTDtA5NtyAwIAIf4VTWFkZSB3aXRoIFNjcmVlblRvR2lmADs=" alt="">
用同样的方式再做一个,设置不同透明度即可完效果,如果让液位高度变化,可在y1()中加入三元运算,不过这个方法有三个缺点,一是会有2次明显的跳动,二是如果上升或下降的速度太快,过程中液面是倾斜的,三是双层液面时同样的值会有不一样的速度,需要自己调试。
用D3js的区域生成器实现简单波浪图的更多相关文章
- 路由器配置——基于区域的OSPF简单认证
一.实验目的:掌握区域的OSPF简单认证 二.拓扑图: 三.具体步骤配置: (1)R1路由器配置 Router>enable Router#configure terminal Enter co ...
- D3.js 区域生成器 (V3版本)
区域生成器(Area Generator) 区域生成器(Area Generator)用于生成一块区域,使用方法与线段生成器类似.线段生成器地址:数据访问器有x().x0().x1().y().y ...
- css3+svg实现波浪图
<!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>css+svg实现波浪图 ...
- 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...
- Objective-C 生成器模式 -- 简单实用和说明
1.生成器模式的定义 将一个复杂的对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表示 2.生成器模式的UML Builder :生成器接口,定义创建一个Product各个部件的操作 Con ...
- Python中的yield生成器的简单介绍
Python yield 使用浅析(整理自:廖 雪峰, 软件工程师, HP 2012 年 11 月 22 日 ) 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关 ...
- 神州数码OSPF基于区域认证(简单、MD5认证)
实验要求:掌握基于区域的简单认证及MD5认证 拓扑如下 简单认证 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface l0 进入端口 i ...
- 基于区域的OSPF简单认证
实验要求:掌握OSPF区域简单认证配置 拓扑如下: 配置如下: R1enable configure terminal interface s0/0/0ip address 192.168.1.1 2 ...
- Python:生成器的简单理解
一.什么是生成器 在Python中,由于受到内存的限制,列表容量肯定是有限的.例如我们创建一个包含一亿个元素的列表,Python首先会在内存中开辟足够的空间来存储这个包含一亿个元素的列表,然后才允许用 ...
随机推荐
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
- NodeVisitor
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * * This library is open source ...
- Spring cloud微服务安全实战-5-1单点登录基本架
基于微服务架构,前后端分离实现SSO 前后端分离到底是个什么样的架构. 中间不是用Nginx而是用Node JS. node.js在服务端的页面渲染,这样搜索引擎爬虫 来爬的时候 爬的就是html页面 ...
- PNG压缩工具-PNGGauntlet
PNGGauntlet下载地址 对于前端来说非常实用的PNG压缩软件,支持拖拽,就是软件速度比较慢.
- 05点睛Spring MVC 4.1-服务器端推送
转发:https://www.iteye.com/blog/wiselyman-2214626 5.1 服务器端推送 SSE(server send event)是一种服务器端向浏览器推送消息的技术, ...
- SpringBoot学习笔记:Redis缓存
SpringBoot学习笔记:Redis缓存 关于Redis Redis是一个使用ANSI C语言编写的免费开源.支持网络.可基于内存亦可以持久化的日志型.键值数据库.其支持多种存储类型,包括Stri ...
- Python文件的读取写入操作
一.打开文件.关闭文件操作 想要读取文件或是写入文件,第一步便是打开文件,最后一步便是关闭文件.这里介绍两种打开(关闭)文件的方式: 1.open()方法 f=open(file_name[,acce ...
- RabbitMQ官方教程三 Publish/Subscribe(GOLANG语言实现)
RabbitMQ官方教程三 Publish/Subscribe(GOLANG语言实现) 在上一个教程中,我们创建了一个工作队列. 工作队列背后的假设是,每个任务都恰好交付给一个worker处理. 在这 ...
- 2019年Java中高级面试题总结(8)
116.什么时候使用访问者模式? 访问者模式用于解决在类的继承层次上增加操作,但是不直接与之关联.这种模式采用双派发的形式来增加中间层. 117.什么时候使用组合模式? 组合模式使用树结构来展示部分与 ...
- Java面试 - 复制引用和复制对象的区别?
复制引用:把原对象的地址赋给了一个新的引用变量,只要其中一个对象的属性发生变化,另一个对象的属性也随之发生变化. 复制对象:把原对象的内容赋给了一个新的对象,其中一个对象的属性发生变化,并不影响另一个 ...