{"version":3,"sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js","webpack:///./node_modules/echarts/lib/chart/radar/radarLayout.js","webpack:///./node_modules/echarts/lib/chart/radar/backwardCompat.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarSeries.js","webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js","webpack:///./node_modules/echarts/lib/component/radar/RadarView.js","webpack:///./node_modules/echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./node_modules/echarts/lib/coord/radar/Radar.js","webpack:///./node_modules/echarts/lib/component/radar/install.js","webpack:///./node_modules/echarts/lib/chart/radar/install.js","webpack:///./node_modules/echarts/lib/chart/radar.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/echarts/lib/visual/LegendVisualProvider.js","webpack:///./node_modules/echarts/lib/processor/dataFilter.js","webpack:///./node_modules/isarray/index.js"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","createSeriesDataSimply","seriesModel","opt","nameList","coordDimensions","encodeDefine","getEncode","source","getSource","dimensions","list","initData","radarLayout","ecModel","eachSeriesByType","data","getData","points","coordSys","coordinateSystem","axes","getIndicatorAxes","axis","axisIndex","each","mapDimension","dim","val","dataIndex","point","dataToPoint","isValidPoint","getValueMissingPoint","idx","firstPoint","slice","setItemLayout","isNaN","cx","cy","radarBackwardCompat","option","polarOptArr","polar","polarNotRadar_1","polarOpt","indicator","type","shape","radar","series","seriesOpt","polarIndex","radarIndex","_super","RadarView","_this","apply","this","arguments","prototype","render","api","group","oldData","_data","createSymbol","symbolType","getItemVisual","symbolSize","symbol","symbolPath","symbolRotate","attr","style","strokeNoScale","z2","scaleX","scaleY","rotation","Math","PI","updateSymbols","oldPoints","newPoints","symbolGroup","isInit","removeAll","__dimIdx","setPosition","graphic","x","y","add","getInitialPoints","pt","diff","getItemLayout","polygon","polyline","target","itemGroup","setItemGraphicEl","update","newIdx","oldIdx","getItemGraphicEl","childAt","remove","execute","eachItemGraphicEl","itemModel","getItemModel","itemStyle","color","fill","useStyle","getModel","getLineStyle","stroke","areaStyleModel","polygonIgnore","isEmpty","parentModel","ignore","stateName","stateModel","stateIgnore","ensureState","getAreaStyle","opacity","decal","emphasisModel","itemHoverStyle","getItemStyle","eachChild","pathStyle","image","width","height","setColor","pathEmphasisState","defaultText","getStore","get","getDimensionIndex","labelFetcher","hostModel","labelDataIndex","labelDimIndex","inheritColor","defaultOpacity","Chart","RadarSeriesModel","hasSymbolVisual","init","legendVisualProvider","LegendVisualProvider","getRawData","getInitialData","generateCoord","generateCoordCount","Infinity","formatTooltip","multipleSeries","dataType","indicatorAxes","name","getName","nameToDisplay","markerColor","header","sortBlocks","blocks","markerType","value","sortParam","getTooltipPosition","data_1","values","getValues","coordToPoint","dataToCoord","dependencies","defaultOption","z","colorBy","legendHoverLink","lineStyle","label","position","Series","RadarSeries","valueAxisDefault","axisDefault","defaultsShow","show","RadarModel","optionUpdated","boundaryGap","splitNumber","scale","axisLine","axisTick","axisLabel","nameTextStyle","showName","nameFormatter","nameGap","triggerEvent","indicatorModels","indicatorOpt","max","min","iNameTextStyle","innerIndicatorOpt","text","nameLocation","indName","replace","model","Model","mainType","componentIndex","_indicatorModels","getIndicatorModels","center","radius","startAngle","axisName","axisNameGap","splitLine","splitArea","Component","axisBuilderAttrs","radarModel","_buildAxes","_buildSplitLineAndArea","axisBuilders","indicatorAxis","axisBuilder","AxisBuilder","angle","labelDirection","tickDirection","nameDirection","getGroup","splitLineModel","splitAreaModel","lineStyleModel","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","splitLineColorsArr","splitAreaColorsArr","splitLines","splitAreas","ticksRadius","getTicksCoords","colorIndex","getColorIndex","r","coord","r0","realSplitNumber_1","axesTicksPoints","ticksCoords","tickCoord","prevPoints","j","concat","reverse","areaStyle","silent","areaOrLine","areaOrLineColorList","IndicatorAxis","radiusExtent","call","Axis","Radar","_model","_indicatorAxes","indicatorModel","Interval","resize","indicatorIndex","cos","sin","pointToData","dx","dy","sqrt","closestAxis","radian","atan2","minRadianDiff","closestAxisIdx","abs","coordToData","viewWidth","getWidth","viewHeight","getHeight","viewSize","number","setExtent","radarSeries","getComponent","unionExtentFromData","dummyScale","setInterval","convertToPixel","finder","console","warn","convertFromPixel","pixel","containPoint","create","radarList","eachComponent","install","registers","registerCoordinateSystem","registerComponentModel","registerComponentView","registerVisual","seriesType","reset","setItemVisual","setVisual","registerChartView","registerSeriesModel","registerLayout","registerProcessor","dataFilter","registerPreprocessor","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","NaN","pow","write","c","rt","floor","log","LN2","base64","ieee754","isArray","typedArraySupport","__proto__","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","encoding","undefined","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isnan","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","buf","readUInt16BE","foundIndex","found","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","pos","swap16","swap32","swap64","equals","inspect","str","match","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","trim","units","leadSurrogate","byteArray","hi","lo","src","dst","getDataWithEncodedVisual","_getDataWithEncodedVisual","_getRawData","getAllNames","rawData","mapArray","containName","indexOfName","dataWithEncodedVisual","key","legendModels","findComponents","filterSelf","isSelected","module"],"mappings":"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","file":"js/chunk-5f985159-V2.10.1-1716256888054.js","sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport { extend, isArray } from 'zrender/lib/core/util.js';\n/**\n * [Usage]:\n * (1)\n * createListSimply(seriesModel, ['value']);\n * (2)\n * createListSimply(seriesModel, {\n * coordDimensions: ['value'],\n * dimensionsCount: 5\n * });\n */\n\nexport default function createSeriesDataSimply(seriesModel, opt, nameList) {\n opt = isArray(opt) && {\n coordDimensions: opt\n } || extend({\n encodeDefine: seriesModel.getEncode()\n }, opt);\n var source = seriesModel.getSource();\n var dimensions = prepareSeriesDataSchema(source, opt).dimensions;\n var list = new SeriesData(dimensions, seriesModel);\n list.initData(source, nameList);\n return list;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nexport default function radarLayout(ecModel) {\n ecModel.eachSeriesByType('radar', function (seriesModel) {\n var data = seriesModel.getData();\n var points = [];\n var coordSys = seriesModel.coordinateSystem;\n\n if (!coordSys) {\n return;\n }\n\n var axes = coordSys.getIndicatorAxes();\n zrUtil.each(axes, function (axis, axisIndex) {\n data.each(data.mapDimension(axes[axisIndex].dim), function (val, dataIndex) {\n points[dataIndex] = points[dataIndex] || [];\n var point = coordSys.dataToPoint(val, axisIndex);\n points[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);\n });\n }); // Close polygon\n\n data.each(function (idx) {\n // TODO\n // Is it appropriate to connect to the next data when some data is missing?\n // Or, should trade it like `connectNull` in line chart?\n var firstPoint = zrUtil.find(points[idx], function (point) {\n return isValidPoint(point);\n }) || getValueMissingPoint(coordSys); // Copy the first actual point to the end of the array\n\n points[idx].push(firstPoint.slice());\n data.setItemLayout(idx, points[idx]);\n });\n });\n}\n\nfunction isValidPoint(point) {\n return !isNaN(point[0]) && !isNaN(point[1]);\n}\n\nfunction getValueMissingPoint(coordSys) {\n // It is error-prone to input [NaN, NaN] into polygon, polygon.\n // (probably cause problem when refreshing or animating)\n return [coordSys.cx, coordSys.cy];\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// @ts-nocheck\n// Backward compat for radar chart in 2\nimport * as zrUtil from 'zrender/lib/core/util.js';\nexport default function radarBackwardCompat(option) {\n var polarOptArr = option.polar;\n\n if (polarOptArr) {\n if (!zrUtil.isArray(polarOptArr)) {\n polarOptArr = [polarOptArr];\n }\n\n var polarNotRadar_1 = [];\n zrUtil.each(polarOptArr, function (polarOpt, idx) {\n if (polarOpt.indicator) {\n if (polarOpt.type && !polarOpt.shape) {\n polarOpt.shape = polarOpt.type;\n }\n\n option.radar = option.radar || [];\n\n if (!zrUtil.isArray(option.radar)) {\n option.radar = [option.radar];\n }\n\n option.radar.push(polarOpt);\n } else {\n polarNotRadar_1.push(polarOpt);\n }\n });\n option.polar = polarNotRadar_1;\n }\n\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'radar' && seriesOpt.polarIndex) {\n seriesOpt.radarIndex = seriesOpt.polarIndex;\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as graphic from '../../util/graphic.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as symbolUtil from '../../util/symbol.js';\nimport ChartView from '../../view/Chart.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport { saveOldStyle } from '../../animation/basicTrasition.js';\n\nvar RadarView =\n/** @class */\nfunction (_super) {\n __extends(RadarView, _super);\n\n function RadarView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = RadarView.type;\n return _this;\n }\n\n RadarView.prototype.render = function (seriesModel, ecModel, api) {\n var polar = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n\n function createSymbol(data, idx) {\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n\n if (symbolType === 'none') {\n return;\n }\n\n var symbolSize = symbolUtil.normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2);\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate') || 0;\n symbolPath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 100,\n scaleX: symbolSize[0] / 2,\n scaleY: symbolSize[1] / 2,\n rotation: symbolRotate * Math.PI / 180 || 0\n });\n return symbolPath;\n }\n\n function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isInit) {\n // Simply rerender all\n symbolGroup.removeAll();\n\n for (var i = 0; i < newPoints.length - 1; i++) {\n var symbolPath = createSymbol(data, idx);\n\n if (symbolPath) {\n symbolPath.__dimIdx = i;\n\n if (oldPoints[i]) {\n symbolPath.setPosition(oldPoints[i]);\n graphic[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n x: newPoints[i][0],\n y: newPoints[i][1]\n }, seriesModel, idx);\n } else {\n symbolPath.setPosition(newPoints[i]);\n }\n\n symbolGroup.add(symbolPath);\n }\n }\n }\n\n function getInitialPoints(points) {\n return zrUtil.map(points, function (pt) {\n return [polar.cx, polar.cy];\n });\n }\n\n data.diff(oldData).add(function (idx) {\n var points = data.getItemLayout(idx);\n\n if (!points) {\n return;\n }\n\n var polygon = new graphic.Polygon();\n var polyline = new graphic.Polyline();\n var target = {\n shape: {\n points: points\n }\n };\n polygon.shape.points = getInitialPoints(points);\n polyline.shape.points = getInitialPoints(points);\n graphic.initProps(polygon, target, seriesModel, idx);\n graphic.initProps(polyline, target, seriesModel, idx);\n var itemGroup = new graphic.Group();\n var symbolGroup = new graphic.Group();\n itemGroup.add(polyline);\n itemGroup.add(polygon);\n itemGroup.add(symbolGroup);\n updateSymbols(polyline.shape.points, points, symbolGroup, data, idx, true);\n data.setItemGraphicEl(idx, itemGroup);\n }).update(function (newIdx, oldIdx) {\n var itemGroup = oldData.getItemGraphicEl(oldIdx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var target = {\n shape: {\n points: data.getItemLayout(newIdx)\n }\n };\n\n if (!target.shape.points) {\n return;\n }\n\n updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data, newIdx, false);\n saveOldStyle(polygon);\n saveOldStyle(polyline);\n graphic.updateProps(polyline, target, seriesModel);\n graphic.updateProps(polygon, target, seriesModel);\n data.setItemGraphicEl(newIdx, itemGroup);\n }).remove(function (idx) {\n group.remove(oldData.getItemGraphicEl(idx));\n }).execute();\n data.eachItemGraphicEl(function (itemGroup, idx) {\n var itemModel = data.getItemModel(idx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2); // Radar uses the visual encoded from itemStyle.\n\n var itemStyle = data.getItemVisual(idx, 'style');\n var color = itemStyle.fill;\n group.add(itemGroup);\n polyline.useStyle(zrUtil.defaults(itemModel.getModel('lineStyle').getLineStyle(), {\n fill: 'none',\n stroke: color\n }));\n setStatesStylesFromModel(polyline, itemModel, 'lineStyle');\n setStatesStylesFromModel(polygon, itemModel, 'areaStyle');\n var areaStyleModel = itemModel.getModel('areaStyle');\n var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n polygon.ignore = polygonIgnore;\n zrUtil.each(['emphasis', 'select', 'blur'], function (stateName) {\n var stateModel = itemModel.getModel([stateName, 'areaStyle']);\n var stateIgnore = stateModel.isEmpty() && stateModel.parentModel.isEmpty(); // Won't be ignore if normal state is not ignore.\n\n polygon.ensureState(stateName).ignore = stateIgnore && polygonIgnore;\n });\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: color,\n opacity: 0.7,\n decal: itemStyle.decal\n }));\n var emphasisModel = itemModel.getModel('emphasis');\n var itemHoverStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n symbolGroup.eachChild(function (symbolPath) {\n if (symbolPath instanceof ZRImage) {\n var pathStyle = symbolPath.style;\n symbolPath.useStyle(zrUtil.extend({\n // TODO other properties like x, y ?\n image: pathStyle.image,\n x: pathStyle.x,\n y: pathStyle.y,\n width: pathStyle.width,\n height: pathStyle.height\n }, itemStyle));\n } else {\n symbolPath.useStyle(itemStyle);\n symbolPath.setColor(color);\n symbolPath.style.strokeNoScale = true;\n }\n\n var pathEmphasisState = symbolPath.ensureState('emphasis');\n pathEmphasisState.style = zrUtil.clone(itemHoverStyle);\n var defaultText = data.getStore().get(data.getDimensionIndex(symbolPath.__dimIdx), idx);\n (defaultText == null || isNaN(defaultText)) && (defaultText = '');\n setLabelStyle(symbolPath, getLabelStatesModels(itemModel), {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: defaultText,\n inheritColor: color,\n defaultOpacity: itemStyle.opacity\n });\n });\n toggleHoverEmphasis(itemGroup, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n });\n this._data = data;\n };\n\n RadarView.prototype.remove = function () {\n this.group.removeAll();\n this._data = null;\n };\n\n RadarView.type = 'radar';\n return RadarView;\n}(ChartView);\n\nexport default RadarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesDataSimply from '../helper/createSeriesDataSimply.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport LegendVisualProvider from '../../visual/LegendVisualProvider.js';\nimport { createTooltipMarkup, retrieveVisualColorForTooltipMarker } from '../../component/tooltip/tooltipMarkup.js';\n\nvar RadarSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(RadarSeriesModel, _super);\n\n function RadarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = RadarSeriesModel.type;\n _this.hasSymbolVisual = true;\n return _this;\n } // Overwrite\n\n\n RadarSeriesModel.prototype.init = function (option) {\n _super.prototype.init.apply(this, arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n };\n\n RadarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesDataSimply(this, {\n generateCoord: 'indicator_',\n generateCoordCount: Infinity\n });\n };\n\n RadarSeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n var data = this.getData();\n var coordSys = this.coordinateSystem;\n var indicatorAxes = coordSys.getIndicatorAxes();\n var name = this.getData().getName(dataIndex);\n var nameToDisplay = name === '' ? this.name : name;\n var markerColor = retrieveVisualColorForTooltipMarker(this, dataIndex);\n return createTooltipMarkup('section', {\n header: nameToDisplay,\n sortBlocks: true,\n blocks: zrUtil.map(indicatorAxes, function (axis) {\n var val = data.get(data.mapDimension(axis.dim), dataIndex);\n return createTooltipMarkup('nameValue', {\n markerType: 'subItem',\n markerColor: markerColor,\n name: axis.name,\n value: val,\n sortParam: val\n });\n })\n });\n };\n\n RadarSeriesModel.prototype.getTooltipPosition = function (dataIndex) {\n if (dataIndex != null) {\n var data_1 = this.getData();\n var coordSys = this.coordinateSystem;\n var values = data_1.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data_1.mapDimension(dim);\n }), dataIndex);\n\n for (var i = 0, len = values.length; i < len; i++) {\n if (!isNaN(values[i])) {\n var indicatorAxes = coordSys.getIndicatorAxes();\n return coordSys.coordToPoint(indicatorAxes[i].dataToCoord(values[i]), i);\n }\n }\n }\n };\n\n RadarSeriesModel.type = 'series.radar';\n RadarSeriesModel.dependencies = ['radar'];\n RadarSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n colorBy: 'data',\n coordinateSystem: 'radar',\n legendHoverLink: true,\n radarIndex: 0,\n lineStyle: {\n width: 2,\n type: 'solid',\n join: 'round'\n },\n label: {\n position: 'top'\n },\n // areaStyle: {\n // },\n // itemStyle: {}\n symbolSize: 8 // symbolRotate: null\n\n };\n return RadarSeriesModel;\n}(SeriesModel);\n\nexport default RadarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport axisDefault from '../axisDefault.js';\nimport Model from '../../model/Model.js';\nimport { AxisModelCommonMixin } from '../axisModelCommonMixin.js';\nimport ComponentModel from '../../model/Component.js';\nvar valueAxisDefault = axisDefault.value;\n\nfunction defaultsShow(opt, show) {\n return zrUtil.defaults({\n show: show\n }, opt);\n}\n\nvar RadarModel =\n/** @class */\nfunction (_super) {\n __extends(RadarModel, _super);\n\n function RadarModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = RadarModel.type;\n return _this;\n }\n\n RadarModel.prototype.optionUpdated = function () {\n var boundaryGap = this.get('boundaryGap');\n var splitNumber = this.get('splitNumber');\n var scale = this.get('scale');\n var axisLine = this.get('axisLine');\n var axisTick = this.get('axisTick'); // let axisType = this.get('axisType');\n\n var axisLabel = this.get('axisLabel');\n var nameTextStyle = this.get('axisName');\n var showName = this.get(['axisName', 'show']);\n var nameFormatter = this.get(['axisName', 'formatter']);\n var nameGap = this.get('axisNameGap');\n var triggerEvent = this.get('triggerEvent');\n var indicatorModels = zrUtil.map(this.get('indicator') || [], function (indicatorOpt) {\n // PENDING\n if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {\n indicatorOpt.min = 0;\n } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {\n indicatorOpt.max = 0;\n }\n\n var iNameTextStyle = nameTextStyle;\n\n if (indicatorOpt.color != null) {\n iNameTextStyle = zrUtil.defaults({\n color: indicatorOpt.color\n }, nameTextStyle);\n } // Use same configuration\n\n\n var innerIndicatorOpt = zrUtil.merge(zrUtil.clone(indicatorOpt), {\n boundaryGap: boundaryGap,\n splitNumber: splitNumber,\n scale: scale,\n axisLine: axisLine,\n axisTick: axisTick,\n // axisType: axisType,\n axisLabel: axisLabel,\n // Compatible with 2 and use text\n name: indicatorOpt.text,\n showName: showName,\n nameLocation: 'end',\n nameGap: nameGap,\n // min: 0,\n nameTextStyle: iNameTextStyle,\n triggerEvent: triggerEvent\n }, false);\n\n if (zrUtil.isString(nameFormatter)) {\n var indName = innerIndicatorOpt.name;\n innerIndicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n } else if (zrUtil.isFunction(nameFormatter)) {\n innerIndicatorOpt.name = nameFormatter(innerIndicatorOpt.name, innerIndicatorOpt);\n }\n\n var model = new Model(innerIndicatorOpt, null, this.ecModel);\n zrUtil.mixin(model, AxisModelCommonMixin.prototype); // For triggerEvent.\n\n model.mainType = 'radar';\n model.componentIndex = this.componentIndex;\n return model;\n }, this);\n this._indicatorModels = indicatorModels;\n };\n\n RadarModel.prototype.getIndicatorModels = function () {\n return this._indicatorModels;\n };\n\n RadarModel.type = 'radar';\n RadarModel.defaultOption = {\n // zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '75%',\n startAngle: 90,\n axisName: {\n show: true // formatter: null\n // textStyle: {}\n\n },\n boundaryGap: [0, 0],\n splitNumber: 5,\n axisNameGap: 15,\n scale: false,\n // Polygon or circle\n shape: 'polygon',\n axisLine: zrUtil.merge({\n lineStyle: {\n color: '#bbb'\n }\n }, valueAxisDefault.axisLine),\n axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n // axisType: 'value',\n splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n // {text, min, max}\n indicator: []\n };\n return RadarModel;\n}(ComponentModel);\n\nexport default RadarModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport AxisBuilder from '../axis/AxisBuilder.js';\nimport * as graphic from '../../util/graphic.js';\nimport ComponentView from '../../view/Component.js';\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\n\nvar RadarView =\n/** @class */\nfunction (_super) {\n __extends(RadarView, _super);\n\n function RadarView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = RadarView.type;\n return _this;\n }\n\n RadarView.prototype.render = function (radarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n\n this._buildAxes(radarModel);\n\n this._buildSplitLineAndArea(radarModel);\n };\n\n RadarView.prototype._buildAxes = function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n var axisBuilders = zrUtil.map(indicatorAxes, function (indicatorAxis) {\n var axisName = indicatorAxis.model.get('showName') ? indicatorAxis.name : ''; // hide name\n\n var axisBuilder = new AxisBuilder(indicatorAxis.model, {\n axisName: axisName,\n position: [radar.cx, radar.cy],\n rotation: indicatorAxis.angle,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1\n });\n return axisBuilder;\n });\n zrUtil.each(axisBuilders, function (axisBuilder) {\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n }, this);\n };\n\n RadarView.prototype._buildSplitLineAndArea = function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n\n if (!indicatorAxes.length) {\n return;\n }\n\n var shape = radarModel.get('shape');\n var splitLineModel = radarModel.getModel('splitLine');\n var splitAreaModel = radarModel.getModel('splitArea');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var showSplitLine = splitLineModel.get('show');\n var showSplitArea = splitAreaModel.get('show');\n var splitLineColors = lineStyleModel.get('color');\n var splitAreaColors = areaStyleModel.get('color');\n var splitLineColorsArr = zrUtil.isArray(splitLineColors) ? splitLineColors : [splitLineColors];\n var splitAreaColorsArr = zrUtil.isArray(splitAreaColors) ? splitAreaColors : [splitAreaColors];\n var splitLines = [];\n var splitAreas = [];\n\n function getColorIndex(areaOrLine, areaOrLineColorList, idx) {\n var colorIndex = idx % areaOrLineColorList.length;\n areaOrLine[colorIndex] = areaOrLine[colorIndex] || [];\n return colorIndex;\n }\n\n if (shape === 'circle') {\n var ticksRadius = indicatorAxes[0].getTicksCoords();\n var cx = radar.cx;\n var cy = radar.cy;\n\n for (var i = 0; i < ticksRadius.length; i++) {\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i);\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: cx,\n cy: cy,\n r: ticksRadius[i].coord\n }\n }));\n }\n\n if (showSplitArea && i < ticksRadius.length - 1) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i);\n splitAreas[colorIndex].push(new graphic.Ring({\n shape: {\n cx: cx,\n cy: cy,\n r0: ticksRadius[i].coord,\n r: ticksRadius[i + 1].coord\n }\n }));\n }\n }\n } // Polyyon\n else {\n var realSplitNumber_1;\n var axesTicksPoints = zrUtil.map(indicatorAxes, function (indicatorAxis, idx) {\n var ticksCoords = indicatorAxis.getTicksCoords();\n realSplitNumber_1 = realSplitNumber_1 == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber_1);\n return zrUtil.map(ticksCoords, function (tickCoord) {\n return radar.coordToPoint(tickCoord.coord, idx);\n });\n });\n var prevPoints = [];\n\n for (var i = 0; i <= realSplitNumber_1; i++) {\n var points = [];\n\n for (var j = 0; j < indicatorAxes.length; j++) {\n points.push(axesTicksPoints[j][i]);\n } // Close\n\n\n if (points[0]) {\n points.push(points[0].slice());\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Can\\'t draw value axis ' + i);\n }\n }\n\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i);\n splitLines[colorIndex].push(new graphic.Polyline({\n shape: {\n points: points\n }\n }));\n }\n\n if (showSplitArea && prevPoints) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i - 1);\n splitAreas[colorIndex].push(new graphic.Polygon({\n shape: {\n points: points.concat(prevPoints)\n }\n }));\n }\n\n prevPoints = points.slice().reverse();\n }\n }\n\n var lineStyle = lineStyleModel.getLineStyle();\n var areaStyle = areaStyleModel.getAreaStyle(); // Add splitArea before splitLine\n\n zrUtil.each(splitAreas, function (splitAreas, idx) {\n this.group.add(graphic.mergePath(splitAreas, {\n style: zrUtil.defaults({\n stroke: 'none',\n fill: splitAreaColorsArr[idx % splitAreaColorsArr.length]\n }, areaStyle),\n silent: true\n }));\n }, this);\n zrUtil.each(splitLines, function (splitLines, idx) {\n this.group.add(graphic.mergePath(splitLines, {\n style: zrUtil.defaults({\n fill: 'none',\n stroke: splitLineColorsArr[idx % splitLineColorsArr.length]\n }, lineStyle),\n silent: true\n }));\n }, this);\n };\n\n RadarView.type = 'radar';\n return RadarView;\n}(ComponentView);\n\nexport default RadarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport Axis from '../Axis.js';\n\nvar IndicatorAxis =\n/** @class */\nfunction (_super) {\n __extends(IndicatorAxis, _super);\n\n function IndicatorAxis(dim, scale, radiusExtent) {\n var _this = _super.call(this, dim, scale, radiusExtent) || this;\n\n _this.type = 'value';\n _this.angle = 0;\n _this.name = '';\n return _this;\n }\n\n return IndicatorAxis;\n}(Axis);\n\nexport default IndicatorAxis;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO clockwise\nimport IndicatorAxis from './IndicatorAxis.js';\nimport IntervalScale from '../../scale/Interval.js';\nimport * as numberUtil from '../../util/number.js';\nimport { map, each, isString, isNumber } from 'zrender/lib/core/util.js';\nimport { alignScaleTicks } from '../axisAlignTicks.js';\n\nvar Radar =\n/** @class */\nfunction () {\n function Radar(radarModel, ecModel, api) {\n /**\n *\n * Radar dimensions\n */\n this.dimensions = [];\n this._model = radarModel;\n this._indicatorAxes = map(radarModel.getIndicatorModels(), function (indicatorModel, idx) {\n var dim = 'indicator_' + idx;\n var indicatorAxis = new IndicatorAxis(dim, new IntervalScale() // (indicatorModel.get('axisType') === 'log') ? new LogScale() : new IntervalScale()\n );\n indicatorAxis.name = indicatorModel.get('name'); // Inject model and axis\n\n indicatorAxis.model = indicatorModel;\n indicatorModel.axis = indicatorAxis;\n this.dimensions.push(dim);\n return indicatorAxis;\n }, this);\n this.resize(radarModel, api);\n }\n\n Radar.prototype.getIndicatorAxes = function () {\n return this._indicatorAxes;\n };\n\n Radar.prototype.dataToPoint = function (value, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);\n }; // TODO: API should be coordToPoint([coord, indicatorIndex])\n\n\n Radar.prototype.coordToPoint = function (coord, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n var angle = indicatorAxis.angle;\n var x = this.cx + coord * Math.cos(angle);\n var y = this.cy - coord * Math.sin(angle);\n return [x, y];\n };\n\n Radar.prototype.pointToData = function (pt) {\n var dx = pt[0] - this.cx;\n var dy = pt[1] - this.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n var radian = Math.atan2(-dy, dx); // Find the closest angle\n // FIXME index can calculated directly\n\n var minRadianDiff = Infinity;\n var closestAxis;\n var closestAxisIdx = -1;\n\n for (var i = 0; i < this._indicatorAxes.length; i++) {\n var indicatorAxis = this._indicatorAxes[i];\n var diff = Math.abs(radian - indicatorAxis.angle);\n\n if (diff < minRadianDiff) {\n closestAxis = indicatorAxis;\n closestAxisIdx = i;\n minRadianDiff = diff;\n }\n }\n\n return [closestAxisIdx, +(closestAxis && closestAxis.coordToData(radius))];\n };\n\n Radar.prototype.resize = function (radarModel, api) {\n var center = radarModel.get('center');\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n var viewSize = Math.min(viewWidth, viewHeight) / 2;\n this.cx = numberUtil.parsePercent(center[0], viewWidth);\n this.cy = numberUtil.parsePercent(center[1], viewHeight);\n this.startAngle = radarModel.get('startAngle') * Math.PI / 180; // radius may be single value like `20`, `'80%'`, or array like `[10, '80%']`\n\n var radius = radarModel.get('radius');\n\n if (isString(radius) || isNumber(radius)) {\n radius = [0, radius];\n }\n\n this.r0 = numberUtil.parsePercent(radius[0], viewSize);\n this.r = numberUtil.parsePercent(radius[1], viewSize);\n each(this._indicatorAxes, function (indicatorAxis, idx) {\n indicatorAxis.setExtent(this.r0, this.r);\n var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length; // Normalize to [-PI, PI]\n\n angle = Math.atan2(Math.sin(angle), Math.cos(angle));\n indicatorAxis.angle = angle;\n }, this);\n };\n\n Radar.prototype.update = function (ecModel, api) {\n var indicatorAxes = this._indicatorAxes;\n var radarModel = this._model;\n each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeriesByType('radar', function (radarSeries, idx) {\n if (radarSeries.get('coordinateSystem') !== 'radar' // @ts-ignore\n || ecModel.getComponent('radar', radarSeries.get('radarIndex')) !== radarModel) {\n return;\n }\n\n var data = radarSeries.getData();\n each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.unionExtentFromData(data, data.mapDimension(indicatorAxis.dim));\n });\n }, this);\n var splitNumber = radarModel.get('splitNumber');\n var dummyScale = new IntervalScale();\n dummyScale.setExtent(0, splitNumber);\n dummyScale.setInterval(1); // Force all the axis fixing the maxSplitNumber.\n\n each(indicatorAxes, function (indicatorAxis, idx) {\n alignScaleTicks(indicatorAxis.scale, indicatorAxis.model, dummyScale);\n });\n };\n\n Radar.prototype.convertToPixel = function (ecModel, finder, value) {\n console.warn('Not implemented.');\n return null;\n };\n\n Radar.prototype.convertFromPixel = function (ecModel, finder, pixel) {\n console.warn('Not implemented.');\n return null;\n };\n\n Radar.prototype.containPoint = function (point) {\n console.warn('Not implemented.');\n return false;\n };\n\n Radar.create = function (ecModel, api) {\n var radarList = [];\n ecModel.eachComponent('radar', function (radarModel) {\n var radar = new Radar(radarModel, ecModel, api);\n radarList.push(radar);\n radarModel.coordinateSystem = radar;\n });\n ecModel.eachSeriesByType('radar', function (radarSeries) {\n if (radarSeries.get('coordinateSystem') === 'radar') {\n // Inject coordinate system\n // @ts-ignore\n radarSeries.coordinateSystem = radarList[radarSeries.get('radarIndex') || 0];\n }\n });\n return radarList;\n };\n /**\n * Radar dimensions is based on the data\n */\n\n\n Radar.dimensions = [];\n return Radar;\n}();\n\nexport default Radar;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport RadarModel from '../../coord/radar/RadarModel.js';\nimport RadarView from './RadarView.js';\nimport Radar from '../../coord/radar/Radar.js';\nexport function install(registers) {\n registers.registerCoordinateSystem('radar', Radar);\n registers.registerComponentModel(RadarModel);\n registers.registerComponentView(RadarView);\n registers.registerVisual({\n seriesType: 'radar',\n reset: function (seriesModel) {\n var data = seriesModel.getData(); // itemVisual symbol is for selected data\n\n data.each(function (idx) {\n data.setItemVisual(idx, 'legendIcon', 'roundRect');\n }); // visual is for unselected data\n\n data.setVisual('legendIcon', 'roundRect');\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { use } from '../../extension.js';\nimport radarLayout from '../radar/radarLayout.js';\nimport dataFilter from '../../processor/dataFilter.js';\nimport backwardCompat from '../radar/backwardCompat.js';\nimport RadarView from './RadarView.js';\nimport RadarSeriesModel from './RadarSeries.js';\nimport { install as installRadarComponent } from '../../component/radar/install.js';\nexport function install(registers) {\n use(installRadarComponent);\n registers.registerChartView(RadarView);\n registers.registerSeriesModel(RadarSeriesModel);\n registers.registerLayout(radarLayout);\n registers.registerProcessor(dataFilter('radar'));\n registers.registerPreprocessor(backwardCompat);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { use } from '../extension.js';\nimport { install } from './radar/install.js';\nuse(install);","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * LegendVisualProvider is an bridge that pick encoded color from data and\n * provide to the legend component.\n */\nvar LegendVisualProvider =\n/** @class */\nfunction () {\n function LegendVisualProvider( // Function to get data after filtered. It stores all the encoding info\n getDataWithEncodedVisual, // Function to get raw data before filtered.\n getRawData) {\n this._getDataWithEncodedVisual = getDataWithEncodedVisual;\n this._getRawData = getRawData;\n }\n\n LegendVisualProvider.prototype.getAllNames = function () {\n var rawData = this._getRawData(); // We find the name from the raw data. In case it's filtered by the legend component.\n // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.\n\n\n return rawData.mapArray(rawData.getName);\n };\n\n LegendVisualProvider.prototype.containName = function (name) {\n var rawData = this._getRawData();\n\n return rawData.indexOfName(name) >= 0;\n };\n\n LegendVisualProvider.prototype.indexOfName = function (name) {\n // Only get data when necessary.\n // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.\n // Invoking Series#getData immediately will throw an error.\n var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n return dataWithEncodedVisual.indexOfName(name);\n };\n\n LegendVisualProvider.prototype.getItemVisual = function (dataIndex, key) {\n // Get encoded visual properties from final filtered data.\n var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n return dataWithEncodedVisual.getItemVisual(dataIndex, key);\n };\n\n return LegendVisualProvider;\n}();\n\nexport default LegendVisualProvider;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport default function dataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx); // If in any legend component the status is not selected.\n\n for (var i = 0; i < legendModels.length; i++) {\n // @ts-ignore FIXME: LegendModel\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n };\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}