function rotateArray (ary) {
var i = ary[0].length;
var tmp = [];
while (i--)
tmp.push ([]);
ary.forEach (function (ary_, i) {
ary_.forEach (function (a, j) { tmp[j][i] = isNaN (a) ? a: Number (a); })
});
return tmp;
}
function cubic_bezier(d,e,f,g){return function(a){var b=1-a,c=3*b*a,b=c*b,c=c*a,a=a*a*a;return[b*d+c*f+a,b*e+c*g+a]}};
function A (n, num) {
var result = [];
var i;
for (i = 0; i < n; i++)
result.push (num);
return result;
}
function B(n,m){return(new Array(n)).map(function(){return m})}
function C(n,m){return eval('['+(new Array(n)).join(num)+']')}