function getCurveArray(source) {
    return pathToCurve(splitPath(pathToAbsolute(source))[0])
      .map(function (segment, i, pathArray) {
        var segmentData = i && pathArray[i - 1].slice(-2).concat( segment.slice(1));
        var curveLength = i ? segmentCubicFactory.apply(void 0, segmentData).length : 0;

        var subsegs;
        if (i) {
          // must be [segment,segment]
          subsegs = curveLength ? splitCubic(segmentData) : [segment, segment];
        } else {
          subsegs = [segment];
        }

        return {
          s: segment,
          ss: subsegs,
          l: curveLength,
        };
      });
  }
Returns first `pathArray` from multi-paths path.
@param {SVGPath.pathArray | string} source the source `pathArray` or string
@returns {KUTE.curveSpecs[]} an `Array` with a custom tuple for `equalizeSegments`