UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 90.9 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.ZEROSTRING=exports.VISIBLE=exports.UNDERSCORE=exports.UNDEF=exports.TXT_STRING=exports.TXT_REGEX=exports.TXT_HREF=exports.TRACKER_FILL=exports.TOUCH_THRESHOLD_PIXELS=exports.TILE=exports.TEXTANCHOR=exports.TESTSTR=exports.STROKE_DASH_LINE_WIDTH=exports.STRINGUNDEFINED=exports.STRINGSTRING=exports.SHAPE_RECT=exports.SAMPLESTRING=exports.ROUND=exports.PXSTRING=exports.PROJECT_VERSION=exports.POSITION_TOP=exports.POSITION_START=exports.POSITION_RIGHT=exports.POSITION_MIDDLE=exports.POSITION_LEFT=exports.POSITION_END=exports.POSITION_CENTER=exports.POSITION_BOTTOM=exports.POSITION_ABSOLUTE=exports.POINTER=exports.ONESTRING=exports.OBJECTSTRING=exports.NORMAL=exports.MathExt=exports.MOUSEOUT=exports.MOUSEMOVE=exports.MIDDLESTR=exports.LINE_HEIGHT_FACTOR=exports.INITIALSTR=exports.HUNDREDSTRING=exports.HOVER_THRESHOLD_PIXELS=exports.HASHSTRING=exports.HAND=exports.FIT=exports.FINALSTR=exports.FILL=exports.FC_CONFIG_STRING=exports.DEFAULT_FT_FONT=exports.DECIMALSTRING=exports.DASH_DEF=exports.COMMASTRING=exports.COMMASPACE=exports.COMMA=exports.COLOR_WHITE=exports.COLOR_TRANSPARENT=exports.COLOR_GLASS=exports.COLOR_BLACK=exports.CLICK_THRESHOLD_PIXELS=exports.BUY_LICENSE_HREF=exports.BREAKSTRING=exports.BOLD=exports.BLANKSTRINGPLACEHOLDER=exports.BLANKSTRING=exports.BLANK=exports.BGRATIOSTRING=void 0;exports._manageInteractiveSpace=_manageInteractiveSpace;exports.addInterActiveEvtName=addInterActiveEvtName;exports.attrTypeNum=exports.attrTypeBool=exports.appliedCSS=exports.animationObjStr=exports.animHelperFN=void 0;exports.bindSelectionEvent=bindSelectionEvent;exports.canvasBorderColorStr=exports.canvasBGAlphaStr=void 0;exports.capitalizeString=capitalizeString;exports.chartPaletteStr=exports.chartAPI=void 0;exports.clampNumber=clampNumber;exports.cleanColorCode=void 0;exports.componentDispose=componentDispose;exports.componentFactory=void 0;exports.computeFontSize=computeFontSize;exports.configStr=void 0;exports.configureDataLabelStyle=configureDataLabelStyle;exports.convertToPixels=convertToPixels;exports.defaultGaugePaletteOptions=exports.datasetFactory=exports.crispBound=exports.createElement=void 0;exports.defined=defined;exports.dehashify=dehashify;exports.dropHash=exports.domInsertModes=void 0;exports.executeJS=executeJS;exports.fastTrim=fastTrim;exports.fcEach=fcEach;exports.getAxisLimits=void 0;exports.getColorCodeString=getColorCodeString;exports.getComparatorFN=getComparatorFN;exports.getContainerBackgroundColor=getContainerBackgroundColor;exports.getCripValues=exports.getCrispValue=getCrispValue;exports.getDashStyle=getDashStyle;exports.getDefinedColor=getDefinedColor;exports.getEventCoordinate=exports.getEmptyConstractor=void 0;exports.getFirstDefinedValue=getFirstDefinedValue;exports.getFirstValue=getFirstValue;exports.getImageURL=getImageURL;exports.getLinkAction=getLinkAction;exports.getMouseCoordinate=getMouseCoordinate;exports.getPosition=getPosition;exports.getSuggestiveRotation=getSuggestiveRotation;exports.getTouchEvent=getTouchEvent;exports.getValidValue=getValidValue;exports.hasTouch=exports.hasSVG=exports.gradientify=exports.getViewPortDimension=void 0;exports.hashify=hashify;exports.hiddenStr=void 0;exports.imprint=imprint;exports.isIE9=exports.isIE11=exports.isIE=exports.isFirefox=exports.isEdge=exports.isArray=void 0;exports.isInterActiveEvt=isInterActiveEvt;exports.normalizeAngle=exports.mathRound=exports.mathAbs=exports.lineHeightFactor=exports.isXSSSafe=exports.isSimilarObject=exports.isIpad=void 0;exports.normalizeCSSDimension=normalizeCSSDimension;exports.pInt=pInt;exports.parseTooltext=void 0;exports.parseUnsafeString=parseUnsafeString;exports.parsexAxisStyles=parsexAxisStyles;exports.pluck=pluck;exports.pluckFontSize=pluckFontSize;exports.pluckFontSizeMaintainUnit=pluckFontSizeMaintainUnit;exports.preDefStr=exports.polyPathToPath=void 0;exports.pseudoEval=pseudoEval;exports.regReplaceEscape=regReplaceEscape;exports.regescape=regescape;exports.regex=void 0;exports.removeAllTooltipOnChart=removeAllTooltipOnChart;exports.rgbaToHex=exports.removeHtmlAttrs=void 0;exports.setImageDisplayMode=setImageDisplayMode;exports.setLineHeight=setLineHeight;exports.snapPoint=void 0;exports.stableSort=stableSort;exports.supportedStyle=exports.stubFN=exports.startsRGBA=void 0;exports.toPrecision=toPrecision;exports.touchEnabled=exports.toRaphaelColor=void 0;exports.trimString=trimString;exports.xssEncode=exports.visibleStr=exports.validhexcolor=exports.txtLabel=void 0;var _libAttr=require("./lib-attr");exports.attribDefs=_libAttr.attribDefs;exports.parseConfiguration=_libAttr.parseConfiguration;exports.setAttribDefs=_libAttr.setAttribDefs;exports.hasAttribDefs=_libAttr.hasAttribDefs;var _domEvent=_interopRequireDefault(require("../dom-event"));var _raphael=_interopRequireDefault(require("../_internal/vendors/redraphael/source/raphael.lib"));exports.extend2=_raphael.default;var _libGraphics=require("./lib-graphics");exports.convertColor=_libGraphics.convertColor;exports.getDarkColor=_libGraphics.getDarkColor;exports.getLightColor=_libGraphics.getLightColor;exports.mapSymbolName=_libGraphics.mapSymbolName;exports.getColumnColor=_libGraphics.getColumnColor;exports.getPointColor=_libGraphics.getPointColor;exports.getAngle=_libGraphics.getAngle;exports.parseColor=_libGraphics.parseColor;exports.getValidColor=_libGraphics.getValidColor;exports.RGBtoHex=_libGraphics.RGBtoHex;exports.rawRGBtoHEX=_libGraphics.rawRGBtoHEX;exports.HEXtoRGB=_libGraphics.HEXtoRGB;exports.parsePointValue=_libGraphics.parsePointValue;exports.getFirstColor=_libGraphics.getFirstColor;exports.getFirstAlpha=_libGraphics.getFirstAlpha;var _imageAlignment=require("../image-alignment");var _pluckNumber=_interopRequireDefault(require("@fusioncharts/utils/src/pluck-number"));exports.pluckNumber=_pluckNumber.default;var version=typeof FCS_VERSION==="undefined"?"":FCS_VERSION,PROJECT_VERSION=exports.PROJECT_VERSION=version,LINE_HEIGHT_FACTOR=exports.LINE_HEIGHT_FACTOR=1.2;var win=window,BGRATIOSTRING,DASH_DEF=exports.DASH_DEF="none",EMPTYFN=exports.stubFN=function EMPTYFN(){},getEmptyConstractor=exports.getEmptyConstractor=function getEmptyConstractor(){return EMPTYFN},isIE9=exports.isIE9=function(){var myNav=win.navigator.userAgent.toLowerCase(),verIE;verIE=myNav.indexOf("msie")!==-1?win.parseInt(myNav.split("msie")[1]):false;if(verIE&&verIE===9){return true}return false}(),isFirefox=exports.isFirefox=/Firefox/i.test(win.navigator.userAgent),doc=win.document,nav=win.navigator,hasSVG=exports.hasSVG=Boolean(win.SVGAngle||doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),isIE11=exports.isIE11=/trident/i.test(nav.userAgent)&&/rv:11/i.test(nav.userAgent)&&!window.opera,isIE=exports.isIE=/msie/i.test(nav.userAgent)&&!win.opera,isEdge=exports.isEdge=/Edge/.test(nav.userAgent),isIpad=exports.isIpad=!!nav.platform&&/iPad|iPhone|iPod/.test(nav.platform),DEFAULT_FT_FONT=exports.DEFAULT_FT_FONT="Helvetica, Arial, sans-serif",attrTypeNum=exports.attrTypeNum=1,attrTypeBool=exports.attrTypeBool=2,STROKE_DASH_LINE_WIDTH=exports.STROKE_DASH_LINE_WIDTH="6",BAD_CHARS_RE=/[\\\"<>;&]/,PROTOCOL_DEF_RE=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,TRACKER_FILL=exports.TRACKER_FILL="rgba(192,192,192,"+(isIE?.002:1e-6)+")",POSITION_ABSOLUTE=exports.POSITION_ABSOLUTE="absolute",POSITION_RIGHT=exports.POSITION_RIGHT="right",POSITION_LEFT=exports.POSITION_LEFT="left",POSITION_CENTER=exports.POSITION_CENTER="center",UNDEF,BLANKSTRINGPLACEHOLDER=exports.BLANKSTRINGPLACEHOLDER="#BLANK#",SAMPLESTRING=exports.SAMPLESTRING="Ay0",COLOR_BLACK=exports.COLOR_BLACK="000000",COLOR_GLASS=exports.COLOR_GLASS="rgba(255, 255, 255, 0.3)",COLOR_WHITE=exports.COLOR_WHITE="FFFFFF",COLOR_TRANSPARENT=exports.COLOR_TRANSPARENT="rgba(0,0,0,0)",HASHSTRING=exports.HASHSTRING="#",BREAKSTRING=exports.BREAKSTRING="<br />",STRINGSTRING=exports.STRINGSTRING="string",OBJECTSTRING=exports.OBJECTSTRING="object",BLANK=exports.BLANK="",prevPageX,prevPageY,BLANKSTRING=exports.BLANKSTRING=BLANK,COMMASTRING=exports.COMMASTRING=",",COMMA=exports.COMMA=",",RStr="r",COLON=":",HYPHEN="-",ZEROSTRING=exports.ZEROSTRING="0",MOUSEOUT=exports.MOUSEOUT="fc-mouseout",MOUSEMOVE=exports.MOUSEMOVE="fc-mousemove",TESTSTR=exports.TESTSTR="Ag",ONESTRING=exports.ONESTRING="1",DECIMALSTRING=exports.DECIMALSTRING=".",STRINGUNDEFINED=exports.STRINGUNDEFINED="undefined",POSITION_TOP=exports.POSITION_TOP="top",POSITION_BOTTOM=exports.POSITION_BOTTOM="bottom",POSITION_MIDDLE=exports.MIDDLESTR=exports.POSITION_MIDDLE="middle",POSITION_START=exports.POSITION_START="start",POSITION_END=exports.POSITION_END="end",FC_CONFIG_STRING=exports.FC_CONFIG_STRING="_FCconf",SHAPE_RECT=exports.SHAPE_RECT="rect",HUNDREDSTRING=exports.HUNDREDSTRING="100",INNERWIDTH="innerWidth",CLIENTWIDTH="clientWidth",INNERHEIGHT="innerHeight",CLIENTHEIGHT="clientHeight",REPLACE_CONSTANT="$2$4",ESCAPE_REPLACE_STR="$2$4$5",FINALSTR=exports.FINALSTR="final",INITIALSTR=exports.INITIALSTR="initial",DOT=".",VISIBLE=exports.VISIBLE="visible",PXSTRING=exports.PXSTRING="px",COMMASPACE=exports.COMMASPACE=", ",TEXTANCHOR=exports.TEXTANCHOR="text-anchor",canvasBGAlphaStr=exports.canvasBGAlphaStr="canvasBgAlpha",ROUND=exports.ROUND="round",UNDERSCORE=exports.UNDERSCORE="_",NORMAL=exports.NORMAL="normal",BOLD=exports.BOLD="bold",POINTER=exports.POINTER="pointer",HAND=exports.HAND=POINTER,TILE=exports.TILE="tile",FILL=exports.FILL="fill",FIT=exports.FIT="fit",TXT_HREF=exports.TXT_HREF="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial"+"&pver="+escape(PROJECT_VERSION),BUY_LICENSE_HREF=exports.BUY_LICENSE_HREF="https://www.fusioncharts.com/support",TXT_STRING=exports.TXT_STRING=typeof FC_RESELLER!=="undefined"&&FC_RESELLER?"70|117|115|105|111|110|67|104|97|114|116|115|32|45|32|79|110|108|121|32|70|111|114|32|82|101|115|97|108|101".split("|").map((function(c){return String.fromCharCode(+c)})).join(""):"70|117|115|105|111|110|67|104|97|114|116|115|32|84|114|105|97|108".split("|").map((function(c){return String.fromCharCode(+c)})).join(""),canvasBorderColorStr=exports.canvasBorderColorStr="canvasBorderColor",TOUCH_THRESHOLD_PIXELS=exports.TOUCH_THRESHOLD_PIXELS=15,CLICK_THRESHOLD_PIXELS=exports.CLICK_THRESHOLD_PIXELS=5,HOVER_THRESHOLD_PIXELS=exports.HOVER_THRESHOLD_PIXELS=1,lineHeightFactor=exports.lineHeightFactor=1.2,configStr=exports.configStr="config",animationObjStr=exports.animationObjStr="animationObj",hiddenStr=exports.hiddenStr="hidden",visibleStr=exports.visibleStr="visible",toFloat=parseFloat,TXT_REGEX=exports.TXT_REGEX=/fusioncharts\.com|fusioncharts\.github\.io$/i,breakPlaceholder=/\{br\}\s*/gi,stripWhitespace=/\s+/g,dropHash=exports.dropHash=/^#?/,startsRGBA=exports.startsRGBA=/^rgba/i,cleanColorCode=exports.cleanColorCode=/[#\s]/gi,hexcode=/^#?[0-9a-f]{6}/i,validhexcolor=exports.validhexcolor=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,mathAbs=exports.mathAbs=Math.abs,mathPow=Math.pow,mathRound=exports.mathRound=Math.round,EPSILON=mathPow(2,-24),touchEnabled=exports.touchEnabled="ontouchstart"in doc,hasTouch=exports.hasTouch=touchEnabled&&!(nav.maxTouchPoints||nav.msMaxTouchPoints),isLicensed=typeof FC_LICENSED!=="undefined"&&FC_LICENSED,txtLabel=exports.txtLabel=!(TXT_REGEX.test(win.location.hostname)||isLicensed),math=Math,mathMax=math.max,mathMin=math.min,stubEvent={pageX:0,pageY:0},M="M",gaugePaletteColors=["8BBA00","F6BD0F","FF654F","AFD8F8","FDB398","CDC309","B1D0D2","FAD1B9","B8A79E","D7CEA5","C4B3CE","E9D3BE","EFE9AD","CEA7A2","B2D9BA"],fontUnits=["rem","em","vw","%",PXSTRING],defaultGaugePaletteOptions=exports.defaultGaugePaletteOptions={paletteColors:[gaugePaletteColors,gaugePaletteColors,gaugePaletteColors,gaugePaletteColors,gaugePaletteColors],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendDarkColor:["333333","60634E","025B6A","A15E01","68001B"],trendLightColor:["f1f1f1","F3F5DD","EDFBFE","FFF5E8","FFD1DD"],pointerBorderColor:["545454","60634E","415D6F","845001","68001B"],pointerBgColor:["545454","60634E","415D6F","845001","68001B"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],msgLogColor:["717170","7B7D6D","92CDD6","965B01","68001B"],TrendLightShadeOffset:30},domInsertModes=exports.domInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},isXSSSafe=exports.isXSSSafe=function isXSSSafe(str,proto){if(proto&&PROTOCOL_DEF_RE.exec(str)!==null){return false}return BAD_CHARS_RE.exec(str)===null},xssEncode=exports.xssEncode=function xssEncode(_s){var s=_s;if(s===null||typeof s==="undefined"||typeof s.toString!=="function"){return""}s=s.toString().replace(/&/g,"&amp;").replace(/\'/g,"&#39;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return s},MathExt=exports.MathExt={numDecimals:function numDecimals(_num){var num=_num;num=toPrecision(num,10);num=Math.abs(num);var decimal=toPrecision(num-Math.floor(num),10),numDecimals=String(decimal).length-2;numDecimals=numDecimals<0?0:numDecimals;return numDecimals},toRadians:function toRadians(angle){return angle/180*Math.PI},toDegrees:function toDegrees(angle){return angle/Math.PI*180},flashToStandardAngle:function flashToStandardAngle(ang){return-1*ang},standardToFlashAngle:function standardToFlashAngle(ang){return-1*ang},flash180ToStandardAngle:function flash180ToStandardAngle(_ang){var ang=_ang,a=360-((ang%=360)<0?ang+360:ang);return a===360?0:a},getAngularPoint:function getAngularPoint(fromX,fromY,distance,_angle){var angle=_angle*(Math.PI/180);return{x:fromX+distance*Math.cos(angle),y:fromY-distance*Math.sin(angle)}},remainderOf:function remainderOf(a,b){return Math.ceil(a%b)},boundAngle:function boundAngle(angle){if(angle>=0){return MathExt.prototype.remainderOf(angle,360)}return 360-MathExt.prototype.remainderOf(Math.abs(angle),360)},toNearestTwip:function toNearestTwip(num){var n=num,s=n<0?-1:1,k=Math.abs(n),r=Math.round(k*100),b=Math.floor(r/5),t=Number(String(r-b*5)),m=t>2?b*5+5:b*5;return s*(m/100)},roundUp:function roundUp(_num,_base){var num=_num,base=_base;base=!base?2:base;var factor=Math.pow(10,base);num*=factor;num=Math.round(Number(String(num)));num/=factor;return num}},pi2=math.PI*2,normalizeAngle=exports.normalizeAngle=function normalizeAngle(_angle,inDegrees){var fullCycle=inDegrees?360:pi2,angle=(_angle||0)%fullCycle;return angle<0?fullCycle+angle:angle},canvasBaseColor3DStr="canvasBaseColor3D",chartPaletteStr=exports.chartPaletteStr={chart2D:{bgColor:"bgColor",bgAlpha:"bgAlpha",bgAngle:"bgAngle",bgRatio:"bgRatio",canvasBgColor:"canvasBgColor",canvasBaseColor:"canvasBaseColor",divLineColor:"divLineColor",legendBgColor:"legendBgColor",legendBorderColor:"legendBorderColor",toolTipbgColor:"toolTipbgColor",toolTipBorderColor:"toolTipBorderColor",baseFontColor:"baseFontColor",anchorBgColor:"anchorBgColor"},chart3D:{bgColor:"bgColor3D",bgAlpha:"bgAlpha3D",bgAngle:"bgAngle3D",bgRatio:"bgRatio3D",canvasBgColor:"canvasBgColor3D",canvasBaseColor:canvasBaseColor3DStr,divLineColor:"divLineColor3D",divLineAlpha:"divLineAlpha3D",legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",anchorBgColor:"anchorBgColor3D"}},supportedStyle=exports.supportedStyle={font:"font",fontFamily:"font-family","font-family":"font-family",fontWeight:"font-weight","font-weight":"font-weight",fontSize:"font-size","font-size":"font-size",lineHeight:"line-height","line-height":"line-height",textDecoration:"text-decoration","text-decoration":"text-decoration",color:"color",whiteSpace:"white-space","white-space":"white-space",padding:"padding",margin:"margin",background:"background",backgroundColor:"background-color","background-color":"background-color",backgroundImage:"background-image","background-image":"background-image",backgroundPosition:"background-position","background-position":"background-position",backgroundPositionLeft:"background-position-left","background-position-left":"background-position-left",backgroundPositionTop:"background-position-top","background-position-top":"background-position-top",backgroundRepeat:"background-repeat","background-repeat":"background-repeat",border:"border",borderColor:"border-color","border-color":"border-color",borderStyle:"border-style","border-style":"border-style",borderThickness:"border-thickness","border-thickness":"border-thickness",borderTop:"border-top","border-top":"border-top",borderTopColor:"border-top-color","border-top-color":"border-top-color",borderTopStyle:"border-top-style","border-top-style":"border-top-style",borderTopThickness:"border-top-thickness","border-top-thickness":"border-top-thickness",borderRight:"border-right","border-right":"border-right",borderRightColor:"border-right-color","border-right-color":"border-right-color",borderRightStyle:"border-right-style","border-right-style":"border-right-style",borderRightThickness:"border-right-thickness","border-right-thickness":"border-right-thickness",borderBottom:"border-bottom","border-bottom":"border-bottom",borderBottomColor:"border-bottom-color","border-bottom-color":"border-bottom-color",borderBottomStyle:"border-bottom-style","border-bottom-style":"border-bottom-style",borderBottomThickness:"border-bottom-thickness","border-bottom-thickness":"border-bottom-thickness",borderLeft:"border-left","border-left":"border-left",borderLeftColor:"border-left-color","border-left-color":"border-left-color",borderLeftStyle:"border-left-style","border-left-Style":"border-left-style",borderLeftThickness:"border-left-thickness","border-left-thickness":"border-left-thickness"},crispFixer=hasSVG?0:.5,crispBound=exports.crispBound=function crispBound(x,y,w,h,_s,options,isStacked,isBar){if(x===void 0){x=0}if(y===void 0){y=0}if(w===void 0){w=0}if(h===void 0){h=0}if(_s===void 0){_s=0}if(options===void 0){options={}}if(isBar===void 0){isBar=false}var s=_s;if(h<1||w<1){return{x:x,y:y,width:w,height:h,"stroke-width":s}}if(s>=w||s>=h){s=Math.floor(Math.min(w,h)/2)||s}var x1=x,y1=y,x2=x+w,s2=s/2,isOdd=s%2,y2=y+h;if(options.top){y1=Math.round(y1)+s2-crispFixer}else{if(isOdd){y1=Math.floor(y1)+.5-crispFixer}else{y1=Math.round(y1)-crispFixer}}if(options.bottom){y2=Math.round(y2)-s2-crispFixer}else{if(isStacked&&options.top){y2=Math.round(y2)+s2-crispFixer}else{if(isOdd){y2=Math.floor(y2)+.5-crispFixer}else{y2=Math.round(y2)-crispFixer}}}if(options.left){x1=Math.round(x1)+s2-crispFixer}else{if(isStacked&&options.right){x1=Math.round(x1)-s2-crispFixer}else{if(isOdd){x1=isBar?Math.round(x1)-s2-crispFixer:Math.floor(x1)+.5-crispFixer}else{x1=Math.round(x1)-crispFixer}}}if(options.right){x2=Math.round(x2)-s2-crispFixer}else{if(isOdd){x2=Math.floor(x2)+.5-crispFixer}else{x2=Math.round(x2)-crispFixer}}return{x:x1,y:y1,width:Math.abs(x2-x1),height:Math.abs(y2-y1),"stroke-width":s}},removeAttrsList=["color"],removeHtmlAttrs=exports.removeHtmlAttrs=function removeHtmlAttrs(obj){if(obj===void 0){obj={}}removeAttrsList.forEach((function(attr){return delete obj[attr]}));return obj},polyPathToPath=exports.polyPathToPath=function polyPathToPath(polypath){var path,sides=polypath[0],cx=polypath[1],cy=polypath[2],r=polypath[3],startAngle=polypath[4],dip=polypath[5],inangle,i,angle,h;path=[];sides=win.parseInt(sides,10)||0;cx=toFloat(cx)||0;cy=toFloat(cy)||0;r=toFloat(r)||0;startAngle=startAngle===null||isNaN(startAngle)?Math.PI*.5:startAngle%360*(Math.PI/180);dip=dip===null||isNaN(dip)?0:toFloat(dip);angle=startAngle;if(sides>2){inangle=2*Math.PI/sides;switch(dip){case 0:for(i=0;i<sides;i++){path.push("L",cx+r*Math.cos(-angle),cy+r*Math.sin(-angle));angle+=inangle}path[0]="M";path.push("Z");break;case 1:for(i=0;i<sides;i++){path.push(M,cx,cy,"L",cx+r*Math.cos(-angle),cy+r*Math.sin(-angle));angle+=inangle}break;default:inangle*=.5;h=r*Math.cos(inangle)*(1-dip);for(i=0;i<sides;i++){path.push("L",cx+r*Math.cos(-angle),cy+r*Math.sin(-angle));angle+=inangle;path.push("L",cx+h*Math.cos(-angle),cy+h*Math.sin(-angle));angle+=inangle}path[0]="M";path.push("Z");break}}else{if(r===0){path.push("M",cx,cy,"L",cx,cy,"Z")}else{path.push("M",cx-r,cy,"A",r,r,0,0,0,cx+r,cy,"A",r,r,0,0,0,cx-r,cy,"Z")}}return path},rgbaToHex=exports.rgbaToHex=function rgbaToHex(_rgb){var rgb=_rgb.replace("rgba(",BLANKSTRING).split(",");return"#"+(COLOR_BLACK+(rgb[0]<<16|rgb[1]<<8|rgb[2]).toString(16)).slice(-6)},animHelperFN=exports.animHelperFN={getTimeByValue:function getTimeByValue(timeRange,pixelRange,plotRange){var timePixelRatio=(timeRange.end-timeRange.start)/(pixelRange.endPx-pixelRange.startPx);return{start:timeRange.start+timePixelRatio*(plotRange.startPx-pixelRange.startPx),end:timeRange.start+timePixelRatio*(plotRange.endPx-pixelRange.startPx)}},animByWeight:function animByWeight(i,_len,weight,_mul,_shift){var mul=_mul||1,len=_len,shift=_shift||0;len--;return{start:i/len*weight*mul+shift,end:i/len*weight*mul+weight+shift}}},createElement=exports.createElement=function createElement(tagName,attributes,parentElement){var elem=doc.createElement(tagName),x;for(x in attributes){elem.setAttribute(x,attributes[x])}parentElement&&parentElement.appendChild&&parentElement.appendChild(elem);return elem},isArray=exports.isArray=function(){if(Array.isArray){return Array.isArray}var objectToStringFn=Object.prototype.toString;return function(subject){return objectToStringFn.call(subject)===objectToStringFn.call([])}}(),getEventCoordinate=exports.getEventCoordinate=function(){return function _getEventCoordinate(event){if(event.pageX===UNDEF){event.pageX=event.clientX+doc.body.scrollLeft+doc.documentElement.scrollLeft;event.pageY=event.clientY+doc.body.scrollTop+doc.documentElement.scrollTop}return event}}(),getViewPortDimension=exports.getViewPortDimension=function(){var pw=INNERWIDTH,ph=INNERHEIGHT,docEl=doc.documentElement||doc.body,vpEl=docEl;if(!(INNERWIDTH in win)){pw=CLIENTWIDTH;ph=CLIENTHEIGHT}else{vpEl=win}return function(){return{width:vpEl[pw],height:vpEl[ph],scrollTop:docEl.scrollTop,scrollLeft:docEl.scrollLeft}}}(),limitedEvalParser=function(){var windowPropIdentifier=/^@window_/g;return function(expr,args,multipleParams){var pattern=expr.replace(/\[[\'\"]/g,DOT).replace(/[\'\"]\]/g,BLANK).replace(/\[/g,".@window_").replace(/\]/g,BLANK),tokens=pattern.split(DOT),obj=win,boxObj,windowProp,tokenEx=BLANK,token,l,i;l=tokens.length;for(i=0;i<l;i+=1){token=tokens[i];boxObj=obj;if(token.match(windowPropIdentifier)){windowProp=win[token.replace(windowPropIdentifier,BLANK)];obj=obj[windowProp]}else if(obj===UNDEF||obj===null){throw(tokenEx||token).replace(windowPropIdentifier,BLANK)+" is not defined"}else{obj=obj[token]}tokenEx=token}if(obj&&(typeof obj.call==="function"||obj===win.alert)){if(obj===win.alert){obj(args)}else{multipleParams?obj.apply(boxObj,args.split("__FC_ARG_SEP__")):obj.call(boxObj,args)}}else if(tokenEx==="void"){return void args}else{setTimeout((function(){throw token.replace(windowPropIdentifier,BLANK)+"() is not a function"}),0)}}}(),toRaphaelColor=exports.toRaphaelColor=function(){var cache={};return function(_obj){var obj=_obj||this;var o=obj&&obj.FCcolor||obj,colors=o.color,ratio=o.ratio,angle=o.angle,opacities=o.alpha,r=o.r,cx=o.cx,cy=o.cy,fx=o.fx,fy=o.fy,units=o.gradientUnits,x1=o.x1,y1=o.y1,x2=o.x2,y2=o.y2,opacity=1,str,i,l,color,hash;if(typeof obj==="string"){return cache[hash="~"+obj]||(cache[hash]=obj.replace(/^#?([a-f0-9]{3,6})/gi,"#$1"))}colors=colors||BLANK;if(!colors){return str}hash=[colors,opacities,ratio,angle,r,cx,cy,units,fx,fy,x1,x2,y1,y2,o.radialGradient].join(UNDERSCORE).replace(/[\(\)\s,\xb0#]/g,UNDERSCORE);if(cache[hash]){return cache[hash]}ratio=ratio&&(ratio+BLANK).split(COMMA)||[];opacities=(opacities||opacities===0)&&(opacities+BLANK).split(COMMA)||[];if(colors=colors.split(COMMA)){str=BLANK;if(colors.length===1){color=colors[0].replace(/^#?([a-f0-9]{3,6})/gi,"$1");if(opacities.length){str="rgba("+(0,_libGraphics.HEXtoRGB)(color).join(COMMA)+","+toFloat(opacities[0])*.01+")"}else{str=color.replace(/^#?([a-f0-9]{3,6})/gi,"#$1")}}else{for(i=0,l=colors.length;i<l;i++){color=colors[i].replace(/^#?([a-f0-9]{3,6})/gi,"$1");if(!isNaN(ratio[i])){ratio[i]=toFloat(ratio[i]);color+=COLON+ratio[i];if(!isNaN(ratio[i+1])){ratio[i+1]=toFloat(ratio[i+1])+ratio[i]}}if(!isNaN(opacities[i])&&opacities[i]!==BLANK){opacity=opacities[i]*.01}colors[i]="rgba("+(0,_libGraphics.HEXtoRGB)(color).join(COMMA)+","+opacity+")";if(!isNaN(ratio[i])){if(ratio[i]===ratio[i-1]){ratio[i]+=.001}colors[i]=colors[i]+COLON+ratio[i]}}str+=colors.join(HYPHEN);if(r!==UNDEF||fx!==UNDEF||cx!==UNDEF||o.radialGradient){str="xr("+[fx,fy,r,cx,cy,units].join(",")+")"+str}else{str=HYPHEN+str;if(x1!==UNDEF||y1!==UNDEF||x2!==UNDEF||y2!==UNDEF){str="("+[x1,y1,x2,y2,units].join(",")+")"+str}if(angle===UNDEF){angle=0}str=360-toFloat(angle)%360+str}}}cache[hash]=str;return str}}(),gradientify=exports.gradientify=function(){return function _gradientify(){return BLANKSTRING}}(),getPropertyFromIndex=function getPropertyFromIndex(match,series){var property=this.argKey,numRegex=/\d+/g,plotIndex=Number(match.match(numRegex)[0]);if(series[plotIndex]){return series[plotIndex][property]}return UNDEF},parseTooltext=exports.parseTooltext=function(){var macroList=[{regex:/((^|[^\\])((\\)\\)*\$cleanvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cleanvalue))/gi,argIndex:2,argKey:"cleanvalue"},{regex:/((^|[^\\])((\\)\\)*\$datavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datavalue))/gi,argIndex:2,argKey:"formattedValue"},{regex:/((^|[^\\])((\\)\\)*\$value)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$value))/gi,argIndex:3,argKey:"value"},{regex:/((^|[^\\])((\\)\\)*\$label)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$label))/gi,argIndex:2,argKey:"label"},{regex:/((^|[^\\])((\\)\\)*\$seriesname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$seriesname))/gi,argIndex:5,argKey:"seriesname"},{regex:/((^|[^\\])((\\)\\)*\$yaxisname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yaxisname))/gi,argIndex:2,argKey:"yaxisName"},{regex:/((^|[^\\])((\\)\\)*\$xaxisname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxisname))/gi,argIndex:2,argKey:"xaxisName"},{regex:/((^|[^\\])((\\)\\)*\$displayvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$displayvalue))/gi,argIndex:3,argKey:"displayvalue"},{regex:/((^|[^\\])((\\)\\)*\$xdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xdatavalue))/gi,argIndex:2,argKey:"xDataValue"},{regex:/((^|[^\\])((\\)\\)*\$ydatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$ydatavalue))/gi,argIndex:2,argKey:"yDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xvalue))/gi,argIndex:3,argKey:"x"},{regex:/((^|[^\\])((\\)\\)*\$yvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yvalue))/gi,argIndex:3,argKey:"y"},{regex:/((^|[^\\])((\\)\\)*\$zvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zvalue))/gi,argIndex:3,argKey:"z"},{regex:/((^|[^\\])((\\)\\)*\$name)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$name))/gi,argIndex:3,argKey:"name"},{regex:/((^|[^\\])((\\)\\)*\$percentValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentValue))/gi,argIndex:2,argKey:"percentValue"},{regex:/((^|[^\\])((\\)\\)*\$startValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startValue))/gi,argIndex:2,argKey:"startValue"},{regex:/((^|[^\\])((\\)\\)*\$startDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startDataValue))/gi,argIndex:2,argKey:"startDataValue"},{regex:/((^|[^\\])((\\)\\)*\$endValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endValue))/gi,argIndex:2,argKey:"endValue"},{regex:/((^|[^\\])((\\)\\)*\$endDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endDataValue))/gi,argIndex:2,argKey:"endDataValue"},{regex:/((^|[^\\])((\\)\\)*\$axisName)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$axisName))/gi,argIndex:2,argKey:"axisName"},{regex:/((^|[^\\])((\\)\\)*\$cumulativevalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativevalue))/gi,argIndex:2,argKey:"cumulativeValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativedatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativedatavalue))/gi,argIndex:2,argKey:"cumulativeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativePercentValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativePercentValue))/gi,argIndex:2,argKey:"cumulativePercentValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativepercentdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativepercentdatavalue))/gi,argIndex:2,argKey:"cumulativePercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$sum)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sum))/gi,argIndex:2,argKey:"sum"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsum)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsum))/gi,argIndex:2,argKey:"unformattedSum"},{regex:/((^|[^\\])((\\)\\)*\$targetvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetvalue))/gi,argIndex:2,argKey:"targetValue"},{regex:/((^|[^\\])((\\)\\)*\$targetdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetdatavalue))/gi,argIndex:2,argKey:"targetDataValue"},{regex:/((^|[^\\])((\\)\\)*\$processname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$processname))/gi,argIndex:2,argKey:"processName"},{regex:/((^|[^\\])((\\)\\)*\$start)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$start))/gi,argIndex:2,argKey:"start"},{regex:/((^|[^\\])((\\)\\)*\$end)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$end))/gi,argIndex:2,argKey:"end"},{regex:/((^|[^\\])((\\)\\)*\$percentcomplete)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentcomplete))/gi,argIndex:2,argKey:"percentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskpercentcomplete)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskpercentcomplete))/gi,argIndex:2,argKey:"taskPercentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskstartdate)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskstartdate))/gi,argIndex:2,argKey:"taskStartDate"},{regex:/((^|[^\\])((\\)\\)*\$taskenddate)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskenddate))/gi,argIndex:2,argKey:"taskEndDate"},{regex:/((^|[^\\])((\\)\\)*\$tasklabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tasklabel))/gi,argIndex:2,argKey:"taskLabel"},{regex:/((^|[^\\])((\\)\\)*\$date)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$date))/gi,argIndex:2,argKey:"date"},{regex:/((^|[^\\])((\\)\\)*\$percentofprevvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentofprevvalue))/gi,argIndex:2,argKey:"percentOfPrevValue"},{regex:/((^|[^\\])((\\)\\)*\$sname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sname))/gi,argIndex:2,argKey:"sName"},{regex:/((^|[^\\])((\\)\\)*\$lname)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lname))/gi,argIndex:2,argKey:"lName"},{regex:/((^|[^\\])((\\)\\)*\$fromid)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromid))/gi,argIndex:2,argKey:"fromId"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/gi,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toid)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toid))/gi,argIndex:2,argKey:"toId"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/gi,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$fromxvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxvalue))/gi,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromyvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromyvalue))/gi,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromxdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxdatavalue))/gi,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromydatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromydatavalue))/gi,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/gi,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toxvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxvalue))/gi,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toyvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toyvalue))/gi,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toxdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxdatavalue))/gi,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toydatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toydatavalue))/gi,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/gi,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$openvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$openvalue))/gi,argIndex:2,argKey:"openValue"},{regex:/((^|[^\\])((\\)\\)*\$closevalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closevalue))/gi,argIndex:2,argKey:"closeValue"},{regex:/((^|[^\\])((\\)\\)*\$highvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highvalue))/gi,argIndex:2,argKey:"highValue"},{regex:/((^|[^\\])((\\)\\)*\$lowvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowvalue))/gi,argIndex:2,argKey:"lowValue"},{regex:/((^|[^\\])((\\)\\)*\$opendatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$opendatavalue))/gi,argIndex:2,argKey:"openDataValue"},{regex:/((^|[^\\])((\\)\\)*\$closedatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closedatavalue))/gi,argIndex:2,argKey:"closeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$highdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highdatavalue))/gi,argIndex:2,argKey:"highDataValue"},{regex:/((^|[^\\])((\\)\\)*\$lowdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowdatavalue))/gi,argIndex:2,argKey:"lowDataValue"},{regex:/((^|[^\\])((\\)\\)*\$maxvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxvalue))/gi,argIndex:2,argKey:"maxValue"},{regex:/((^|[^\\])((\\)\\)*\$maxdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxdatavalue))/gi,argIndex:2,argKey:"maxDataValue"},{regex:/((^|[^\\])((\\)\\)*\$minvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$minvalue))/gi,argIndex:2,argKey:"minValue"},{regex:/((^|[^\\])((\\)\\)*\$mindatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mindatavalue))/gi,argIndex:2,argKey:"minDataValue"},{regex:/((^|[^\\])((\\)\\)*\$q1)/gi,argIndex:2,argKey:"Q1"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ1)/gi,argIndex:2,argKey:"unformattedQ1"},{regex:/((^|[^\\])((\\)\\)*\$q3)/gi,argIndex:2,argKey:"Q3"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ3)/gi,argIndex:2,argKey:"unformattedQ3"},{regex:/((^|[^\\])((\\)\\)*\$median)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$median))/gi,argIndex:2,argKey:"median"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMedian)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMedian))/gi,argIndex:2,argKey:"unformattedMedian"},{regex:/((^|[^\\])((\\)\\)*\$SD)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$SD))/gi,argIndex:2,argKey:"SD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsd)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsd))/gi,argIndex:2,argKey:"unformattedsd"},{regex:/((^|[^\\])((\\)\\)*\$QD)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$QD))/gi,argIndex:2,argKey:"QD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQD)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedQD))/gi,argIndex:2,argKey:"unformattedQD"},{regex:/((^|[^\\])((\\)\\)*\$MD)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$MD))/gi,argIndex:2,argKey:"MD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMD)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMD))/gi,argIndex:2,argKey:"unformattedMD"},{regex:/((^|[^\\])((\\)\\)*\$mean)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mean))/gi,argIndex:2,argKey:"mean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/gi,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/gi,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$volumeValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeValue))/gi,argIndex:2,argKey:"volumeValue"},{regex:/((^|[^\\])((\\)\\)*\$volumeDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeDataValue))/gi,argIndex:2,argKey:"volumeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXValue))/gi,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYValue))/gi,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXDataValue))/gi,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYDataValue))/gi,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromLabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromLabel))/gi,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toXValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXValue))/gi,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toYValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYValue))/gi,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toXDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXDataValue))/gi,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toYDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYDataValue))/gi,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/gi,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$tlLabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlLabel))/gi,argIndex:5,argKey:"tlLabel"},{regex:/((^|[^\\])((\\)\\)*\$trlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trlabel))/gi,argIndex:5,argKey:"trLabel"},{regex:/((^|[^\\])((\\)\\)*\$bllabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$bllabel))/gi,argIndex:5,argKey:"blLabel"},{regex:/((^|[^\\])((\\)\\)*\$brlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brlabel))/gi,argIndex:5,argKey:"brLabel"},{regex:/((^|[^\\])((\\)\\)*\$rowlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$rowlabel))/gi,argIndex:5,argKey:"rowLabel"},{regex:/((^|[^\\])((\\)\\)*\$columnlabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$columnlabel))/gi,argIndex:5,argKey:"columnLabel"},{regex:/((^|[^\\])((\\)\\)*\$errorvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorvalue))/gi,argIndex:2,argKey:"errorValue"},{regex:/((^|[^\\])((\\)\\)*\$errordatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errordatavalue))/gi,argIndex:2,argKey:"errorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentvalue))/gi,argIndex:2,argKey:"errorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentdatavalue))/gi,argIndex:2,argKey:"errorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorValue))/gi,argIndex:2,argKey:"horizontalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorDataValue))/gi,argIndex:2,argKey:"horizontalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorValue))/gi,argIndex:2,argKey:"verticalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorDataValue))/gi,argIndex:2,argKey:"verticalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercent)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentValue))/gi,argIndex:2,argKey:"horizontalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercentDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentDataValue))/gi,argIndex:2,argKey:"horizontalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercent)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentValue))/gi,argIndex:2,argKey:"verticalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercentDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentDataValue))/gi,argIndex:2,argKey:"verticalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xaxispercentvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxispercentvalue))/gi,argIndex:2,argKey:"xAxisPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$percentdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentdatavalue))/gi,argIndex:2,argKey:"percentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$trType)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trType))/gi,argIndex:4,argKey:"trtype"},{regex:/((^|[^\\])((\\)\\)*\$tlType)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlType))/gi,argIndex:4,argKey:"tltype"},{regex:/((^|[^\\])((\\)\\)*\$brType)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brType))/gi,argIndex:4,argKey:"brtype"},{regex:/((^|[^\\])((\\)\\)*\$blType)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$blType))/gi,argIndex:4,argKey:"bltype"},{regex:/((^|[^\\])((\\)\\)*\$colorRangeLabel)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$colorRangeLabel))/gi,argIndex:5,argKey:"colorRangeLabel"},{regex:/((^|[^\\])((\\)\\)*\$zdatavalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zdatavalue))/gi,argIndex:2,argKey:"zDataValue"},{regex:/((^|[^\\])((\\)\\)*\$svalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$svalue))/gi,argIndex:3,argKey:"svalue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorValue))/gi,argIndex:2,argKey:"positiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorValue))/gi,argIndex:2,argKey:"negativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$datasvalue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datasvalue))/gi,argIndex:2,argKey:"formattedsValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalNegativeErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalNegativeErrorValue))/gi,argIndex:2,argKey:"horizontalNegativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalPositiveErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalPositiveErrorValue))/gi,argIndex:2,argKey:"horizontalPositiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalNegativeErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalNegativeErrorValue))/gi,argIndex:2,argKey:"verticalNegativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalPositiveErrorValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalPositiveErrorValue))/gi,argIndex:2,argKey:"verticalPositiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalNegativeErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalNegativeErrorDataValue))/gi,argIndex:2,argKey:"horizontalNegativeErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalPositiveErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalPositiveErrorDataValue))/gi,argIndex:2,argKey:"horizontalPositiveErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalPositiveErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalPositiveErrorDataValue))/gi,argIndex:2,argKey:"verticalPositiveErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalNegativeErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalNegativeErrorDataValue))/gi,argIndex:2,argKey:"verticalNegativeErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorDataValue))/gi,argIndex:2,argKey:"positiveErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorDataValue))/gi,argIndex:2,argKey:"negativeErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$nodeValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$nodeValue))/gi,argIndex:3,argKey:"nodeValue"},{regex:/((^|[^\\])((\\)\\)*\$nodeDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$nodeDataValue))/gi,argIndex:3,argKey:"nodeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$dominantNode)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$dominantNode))/gi,argIndex:2,argKey:"dominantNode"},{regex:/((^|[^\\])((\\)\\)*\$subservientNode)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$subservientNode))/gi,argIndex:2,argKey:"subservientNode"},{regex:/((^|[^\\])((\\)\\)*\$dominantFlowValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$dominantFlowValue))/gi,argIndex:2,argKey:"dominantFlowValue"},{regex:/((^|[^\\])((\\)\\)*\$dominantFlowDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$dominantFlowDataValue))/gi,argIndex:2,argKey:"dominantFlowDataValue"},{regex:/((^|[^\\])((\\)\\)*\$subservientFlowValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$subservientFlowValue))/gi,argIndex:2,argKey:"subservientFlowValue"},{regex:/((^|[^\\])((\\)\\)*\$subservientFlowDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$subservientFlowDataValue))/gi,argIndex:2,argKey:"subservientFlowDataValue"},{regex:/((^|[^\\])((\\)\\)*\$linkValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$linkValue))/gi,argIndex:3,argKey:"linkValue"},{regex:/((^|[^\\])((\\)\\)*\$linkDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$linkDataValue))/gi,argIndex:3,argKey:"linkDataValue"},{regex:/((^|[^\\])((\\)\\)*\$plotFillColor)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$plotFillColor))/gi,argIndex:3,argKey:"plotFillColor"},{regex:/((^|[^\\])((\\)\\)*\$plotFillAlpha)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$plotFillAlpha))/gi,argIndex:3,argKey:"plotFillAlpha"},{regex:/((^|[^\\])((\\)\\)*\$plotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$plotIdentifier))/gi,argIndex:3,argKey:"plotIdentifier"},{regex:/((^|[^\\])((\\)\\)*\$dominantPlotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$dominantPlotIdentifier))/gi,argIndex:2,argKey:"dominantPlotIdentifier"},{regex:/((^|[^\\])((\\)\\)*\$subservientPlotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$subservientPlotIdentifier))/gi,argIndex:2,argKey:"subservientPlotIdentifier"},{regex:/((^|[^\\])((\\)\\)*\$from\b)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$from\b))/gi,argIndex:2,argKey:"from"},{regex:/((^|[^\\])((\\)\\)*\$to\b)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$to\b))/gi,argIndex:2,argKey:"to"},{regex:/((^|[^\\])((\\)\\)*\$linkValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$linkValue))/gi,argIndex:2,argKey:"linkValue"},{regex:/((^|[^\\])((\\)\\)*\$fromPlotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromPlotIdentifier))/gi,argIndex:3,argKey:"fromPlotIdentifier"},{regex:/((^|[^\\])((\\)\\)*\$toPlotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toPlotIdentifier))/gi,argIndex:3,argKey:"toPlotIdentifier"},{regex:/((^|[^\\])((\\)\\)*\$flowDirection)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$flowDirection))/gi,argIndex:3,argKey:"flowDirection"},{regex:/(((\\)\\)*\$series.[0-9].name)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].name))/gi,argIndex:2,argKey:"name",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].color)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].color))/gi,argIndex:3,argKey:"color",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].plotIdentifier)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].plotIdentifier))/gi,argIndex:3,argKey:"plotIdentifier",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].value)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].value))/gi,argIndex:3,argKey:"value",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].dataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].dataValue))/gi,argIndex:3,argKey:"dataValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].volumeValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].volumeValue))/gi,argIndex:3,argKey:"volumeValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].volumeDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].volumeDataValue))/gi,argIndex:3,argKey:"volumeDataValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].openValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].openValue))/gi,argIndex:3,argKey:"openValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].openDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].openDataValue))/gi,argIndex:3,argKey:"openDataValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].highValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].highValue))/gi,argIndex:3,argKey:"highValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].highDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].highDataValue))/gi,argIndex:3,argKey:"highDataValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].lowValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].lowValue))/gi,argIndex:3,argKey:"lowValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].lowDataValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].lowDataValue))/gi,argIndex:3,argKey:"lowDataValue",isTimeseriesMacro:true,parsingMethod:getPropertyFromIndex},{regex:/(((\\)\\)*\$series.[0-9].closeValue)/gi,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$series.[0-9].closeValue))/gi,argIndex:3,argKey: