{"version":3,"sources":["webpack:///./node_modules/lodash/_isFlattenable.js","webpack:///./src/views/IndustryUsers.vue?e996","webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/vue-apexcharts/dist/vue-apexcharts.js","webpack:///./node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/core-js/internals/get-iterator-flattenable.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/apexcharts/dist/apexcharts.min.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/vue-select/dist/vue-select.js","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./node_modules/core-js/modules/es.object.entries.js","webpack:///./src/lib/ag-grid/index.js","webpack:///./node_modules/lodash/_baseFlatten.js","webpack:///./node_modules/core-js/modules/es.array.flat-map.js","webpack:///./node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack:///./src/views/AdminDashboard.vue?df99","webpack:///./node_modules/core-js/modules/es.iterator.flat-map.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./src/components/commons/Networks/SelectNetwork.vue?023e","webpack:///src/components/commons/Networks/SelectNetwork.vue","webpack:///./src/components/commons/Networks/SelectNetwork.vue?6e65","webpack:///./src/components/commons/Networks/SelectNetwork.vue","webpack:///./src/views/BtnViewIndustryDetails.js","webpack:///./src/views/IndustryUsers.vue?8cde","webpack:///src/views/IndustryUsers.vue","webpack:///./src/views/IndustryUsers.vue?9fdb","webpack:///./src/views/IndustryUsers.vue","webpack:///./src/views/BtnApproveMembership.js","webpack:///./src/views/BtnRejectMembership.js","webpack:///./src/views/IndustryUsersRequests.vue?b079","webpack:///src/views/IndustryUsersRequests.vue","webpack:///./src/views/IndustryUsersDashboard.vue?094f","webpack:///src/views/IndustryUsersDashboard.vue","webpack:///./src/views/IndustryUsersRequests.vue?67ef","webpack:///./src/views/IndustryUsersRequests.vue","webpack:///./src/views/IndustryUsersDashboard.vue?1ff0","webpack:///./src/views/IndustryUsersDashboard.vue","webpack:///./src/views/IndustryUsersDetails.vue?55bb","webpack:///src/views/IndustryUsersDetails.vue","webpack:///./src/views/IndustryUsersDetails.vue?5a00","webpack:///./src/views/IndustryUsersDetails.vue","webpack:///./node_modules/xlsx/xlsx.mjs","webpack:///./src/views/BtnDeleteNetwork.js","webpack:///./src/views/AdminDashboard.vue?7de7","webpack:///src/views/AdminDashboard.vue","webpack:///./src/views/AdminDashboard.vue?67d8","webpack:///./src/views/AdminDashboard.vue","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/sortBy.js","webpack:///./node_modules/lodash/_compareAscending.js","webpack:///./node_modules/core-js/modules/esnext.iterator.flat-map.js","webpack:///./src/views/IndustryUsersRequests.vue?4175","webpack:///./node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./src/views/IndustryUsersDashboard.vue?3ace"],"names":["Symbol","isArguments","isArray","spreadableSymbol","isConcatSpreadable","undefined","module","exports","value","uncurryThis","toLength","toString","$repeat","requireObjectCoercible","repeat","stringSlice","slice","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","length","fillStr","start","end","identity","overRest","setToString","func","toIntegerOrInfinity","$RangeError","RangeError","count","str","this","result","n","Infinity","ApexCharts","_typeof","obj","iterator","constructor","prototype","_defineProperty","key","Object","defineProperty","enumerable","configurable","writable","hasOwnProperty","VueApexCharts","props","options","type","String","series","Array","required","default","width","height","data","chart","beforeMount","window","mounted","init","created","_this","$watch","updateOptions","updateSeries","forEach","prop","refresh","beforeDestroy","destroy","render","createElement","methods","_this2","newOptions","events","keys","$listeners","evt","config","extend","$el","isObject","item","target","source","_this3","assign","TypeError","output","index","arguments","_source","nextKey","newSeries","animate","redrawPaths","updateSyncedCharts","toggleSeries","seriesName","showSeries","hideSeries","appendSeries","resetSeries","zoomX","min","max","toggleDataPointSelection","seriesIndex","dataPointIndex","appendData","newData","addText","addImage","addShape","dataURI","setLocale","localeName","addXaxisAnnotation","pushToMemory","addYaxisAnnotation","addPointAnnotation","removeAnnotation","id","clearAnnotations","install","Vue","get","factory","compareAscending","object","other","orders","objCriteria","criteria","othCriteria","ordersLength","apply","nativeMax","transform","args","array","otherArgs","baseFor","iteratee","call","anObject","getIteratorDirect","getIteratorMethod","stringHandling","method","getNative","e","t","i","a","ReferenceError","x","s","r","v","done","f","o","next","return","Boolean","valueOf","Reflect","construct","c","l","setPrototypeOf","getPrototypeOf","bind","__proto__","h","create","u","d","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","g","getOwnPropertyDescriptors","defineProperties","p","from","toPrimitive","b","name","test","m","split","parseInt","round","isColorHex","shadeHexColor","shadeRGBColor","map","is","clone","log","LN10","pow","floor","log10","parseFloat","Number","isInteger","toPrecision","random","substring","replace","getComputedStyle","clientHeight","clientWidth","paddingTop","paddingBottom","paddingLeft","paddingRight","getBoundingClientRect","top","right","bottom","left","y","reduce","match","RegExp","join","PI","sin","cos","splice","parentElement","classList","contains","style","isNaN","navigator","userAgent","toLowerCase","indexOf","abs","ctx","w","setEasingFunctions","globals","easing","animations","attr","opacity","afterAll","el","realIndex","j","fill","pathFrom","pathTo","speed","delay","animateGradually","enabled","dynamicAnimation","dataChanged","morphSVG","comboCharts","delayedElements","remove","add","animationEnded","showDelayedElements","animationEnd","concat","gridHeight","shouldAnimate","plot","isNumber","maxValsInArrayIndex","animationCompleted","unfilter","SVG","Filter","size","states","normal","applyFilter","dropShadow","node","intensity","addShadow","componentTransfer","rgb","slope","intercept","filterer","setAttribute","_scaleFilterSize","addNormalFilter","addLightenFilter","addDarkenFilter","blur","color","enabledOnSeries","flood","composite","sourceAlpha","offset","gaussianBlur","merge","blend","noUserSpaceOnUse","isMsEdge","isSafari","isFirefox","selectedDataPoints","active","k","sqrt","origPoint","dom","Paper","line","x1","y1","x2","y2","stroke","rect","rx","ry","polygon","circle","strokeWidth","fillOpacity","strokeOpacity","classes","strokeLinecap","strokeDashArray","lineCap","path","class","group","animationDelay","initialSpeed","dataChangeSpeed","className","chartType","shouldClipToGrid","bindEventsOnPaths","drawShadow","A","C","L","P","M","I","resized","z","T","dashArray","X","drawPath","isHorizontal","cuid","getDefaultFilter","E","addEventListener","pathMouseEnter","pathMouseLeave","pathMouseDown","Y","animatePathsGradually","pattern","hexToRgba","gradient","at","gridWidth","gradientUnits","cx","cy","fx","fy","to","text","maxWidth","fontSize","fontFamily","getTextRects","textAnchor","fontWeight","foreColor","cssClass","isPlainText","dominantBaseline","getTextBasedOnMaxWidth","tspan","newLine","plain","getMarkerPath","pointStrokeColor","pointStrokeDashArray","pointStrokeWidth","pointFillColor","pointFillOpacity","pointStrokeOpacity","shape","pSize","drawMarkerShape","getAttribute","dataPointMouseEnter","fireEvent","hover","isTouchDevice","dataPointMouseLeave","allowMultipleDataPointsSelection","select","members","dataPointSelection","getBBox","drawText","bbox","getComputedTextLength","textContent","getSubStringLength","seriesGroups","seriesNames","getStackedSeriesTotals","yaxis","some","console","warn","shift","seriesYAxisMap","seriesYAxisReverseMap","every","xaxis","convertedCatToNumeric","labels","formatter","minX","markers","discrete","sizeOffset","largestSize","seriesTotals","seriesX","seriesPercent","stackedSeriesTotals","yRange","isMultipleYAxis","minYArr","maxYArr","minY","maxY","xRange","maxX","zRange","maxZ","minZ","MIN_VALUE","hasNegs","logarithmic","getBaseLog","logBase","yRatio","invertedYRatio","zRatio","xRatio","invertedXRatio","baseLineInvertedY","baseLineY","baseLineX","seriesLog","getLogVal","invalidLogScale","yLogRatio","logYRange","MAX_VALUE","draw","comboBarCount","extendYAxis","annotations","extendYAxisAnnotations","extendXAxisAnnotations","points","extendPointAnnotations","annoCtx","label","orientation","baseEl","querySelector","position","graphics","rotateAroundCenter","trim","padding","drawRect","barPadForNumericAxis","borderRadius","background","borderWidth","borderColor","parentNode","addBackgroundToAnno","insertBefore","mouseEnter","mouseLeave","click","invertAxis","categoryLabels","barHeight","yAxisIndex","marker","reversed","includes","yP","clipped","inversedReversedAxis","dataFormatXNumeric","sparkline","getStringX","barWidth","helpers","getX1X2","drawLine","offsetX","offsetY","appendChild","fillColor","rel","setOrientations","months31","months30","daysCntOfYear","parseDate","Date","parse","datetimeUTC","toISOString","substr","getTime","toUTCString","getTimeStamp","locale","months","shortMonths","days","shortDays","getUTCFullYear","getFullYear","getUTCMonth","getMonth","getUTCDate","getDate","getUTCHours","getHours","getUTCMinutes","getMinutes","getUTCSeconds","getSeconds","getUTCMilliseconds","getMilliseconds","charAt","getTimezoneOffset","getUTCDay","getDay","formatDate","minMillisecond","maxMillisecond","minSecond","maxSecond","minMinute","maxMinute","minHour","maxHour","minDate","maxDate","minMonth","maxMonth","minYear","maxYear","determineDaysOfMonths","isLeapYear","monthMod","tooltipKeyFormat","tooltip","format","yValueDecimal","toFixed","decimalsInFloat","xaxisTooltipFormatter","defaultGeneralFormatter","ttKeyFormatter","ttZFormatter","legendFormatter","xLabelFormatter","isBarHorizontal","ttVal","legend","yLabelFormatters","xyCharts","defaultYFormatter","yAxisScale","niceMax","niceMin","xLabelFormat","dateFormatter","unit","rotateXLabels","rotate","showDuplicates","timeScale","textRect","isBold","tickAmount","skipFirstTimelinelabel","skipLastTimelinelabel","hideOverlappingLabels","reverse","collapsedSeriesIndices","show","yAxisAllSeriesCollapsed","showForNullSeries","isSeriesNull","theme","pushExtraColors","translateY","opposite","axesUtils","getY1Y2","_getYAxisAnnotationWidth","translateYAxisIndex","isYAxisHidden","strokeColor","pRadius","radius","drawMarker","customSVG","innerHTML","image","appendTo","toolbar","exportToSVG","exportToPNG","exportToCSV","menu","selection","selectionZoom","zoomIn","zoomOut","pan","reset","yAxis","showAlways","stepSize","forceNiceScale","floating","minWidth","align","colors","axisBorder","axisTicks","title","crosshairs","pointAnnotation","yAxisAnnotation","xAxisAnnotation","backgroundColor","texts","images","shapes","locales","defaultLocale","updated","mouseMove","xAxisLabelClick","legendClick","markerClick","beforeZoom","beforeResetZoom","zoomed","scrolled","brushScrolled","parentHeightOffset","redrawOnParentResize","redrawOnWindowResize","nonce","brush","autoScaleYaxis","targets","stacked","stackOnlyBar","stackType","tools","download","zoom","zoomin","zoomout","customIcons","export","csv","filename","columnDelimiter","headerCategory","headerValue","categoryFormatter","valueFormatter","png","svg","scale","autoSelected","allowMouseWheelZoom","zoomedArea","plotOptions","isSlopeChart","area","fillTo","bar","horizontal","columnWidth","distributed","borderRadiusApplication","borderRadiusWhenStacked","rangeBarOverlap","rangeBarGroupRows","hideZeroBarsWhenGrouped","isDumbbell","dumbbellColors","isFunnel","isFunnel3d","ranges","backgroundBarColors","backgroundBarOpacity","backgroundBarRadius","dataLabels","maxItems","hideOverflowingLabels","total","bubble","zScaling","minBubbleRadius","maxBubbleRadius","candlestick","upward","downward","wick","useFillColor","boxPlot","upper","lower","heatmap","enableShades","shadeIntensity","reverseNegativeShade","useFillColorAsStroke","colorScale","inverse","treemap","radialBar","inverseOrder","startAngle","endAngle","hollow","margin","imageWidth","imageHeight","imageOffsetX","imageOffsetY","imageClipped","track","barLabels","useSeriesColors","onClick","pie","customScale","expandOnClick","minAngleToShowLabel","donut","polarArea","rings","spokes","connectorColors","radar","polygons","strokeColors","shade","gradientToColors","inverseColors","opacityFrom","opacityTo","stops","colorStops","src","forecastDataPoints","grid","lines","row","column","showForSingleSeries","showForZeroSeries","horizontalAlign","tooltipHoverFormatter","customLegendItems","fillColors","customHTML","itemMargin","vertical","onItemClick","toggleDataSeries","onItemHover","highlightDataSeries","showNullDataPoints","onDblClick","noData","verticalAlign","responsive","subtitle","curve","shared","hideEmptySeries","followCursor","intersect","custom","fillSeriesColor","onDatasetHover","items","display","fixed","categories","overwriteCategories","rotateAlways","minHeight","maxHeight","datetimeFormatter","year","month","day","hour","minute","second","groups","tickPlacement","range","colorFrom","colorTo","mode","palette","monochrome","shadeTo","xAxisAnnotations","yAxisAnnotations","pointsAnnotations","xDivision","dataPoints","axisCharts","drawYAxisAnnotations","drawXAxisAnnotations","drawPointAnnotations","elGraphical","annotationsBackground","move","addAnnotationExternal","params","context","contextMethod","childNodes","memory","methodsToExec","randomId","querySelectorAll","listToArray","firstChild","removeChild","isTimeline","seriesRangeStart","seriesRangeEnd","isFinite","startVal","endVal","ylabel","R","tooltipLabels","getFormatters","yLbFormatter","F","opts","hideYAxis","_getBoxTooltip","seriesCandleO","seriesCandleH","seriesCandleM","seriesCandleL","seriesCandleC","D","responsiveOverride","extendAnnotations","funnel","stackedBars","stacked100","dumbbell","checkForDarkTheme","Apex","checkForCatToNumericXAxis","handleUserInputErrors","convertCatToNumeric","extendArray","Error","H","seriesRange","seriesGoals","seriesZ","seriesColors","seriesXvalues","seriesYvalues","hasXaxisGroups","barGroups","lineGroups","areaGroups","hasSeriesGroups","timescaleLabels","noLabelsProvided","resizeTimer","selectionResizeTimer","lastWheelExecution","pointsArray","dataLabelsRects","isXNumeric","isDataXYZ","isMultiLineX","initialMaxX","initialMinX","minXDiff","xAxisScale","xAxisTicksPositions","yLabelsCoords","yTitleCoords","padHorizontal","xTickAmount","multiAxisTickAmount","chartID","clicked","clientX","clientY","radarPolygons","msMaxTouchPoints","isDirty","isExecCalled","initialConfig","initialSeries","lastXAxis","lastYAxis","columnSeries","allSeriesCollapsed","collapsedSeries","ancillaryCollapsedSeries","ancillaryCollapsedSeriesIndices","risingSeries","capturedSeriesIndex","capturedDataPointIndex","ignoreYAxisIndexes","radialSize","zoomEnabled","panEnabled","selectionEnabled","mousedown","lastClientPosition","visibleXRange","SVGNS","svgWidth","svgHeight","previousPaths","allSeriesHasEqualX","lastDrawnDataLabelsIndexes","hasNullValues","defaultLabels","LINE_HEIGHT_RATIO","xAxisLabelsHeight","xAxisGroupLabelsHeight","xAxisLabelsWidth","yAxisLabelsWidth","scaleX","scaleY","translateX","translateYAxisX","yAxisWidths","translateXAxisY","translateXAxisX","niceScaleAllowedMagMsd","niceScaleDefaultTicks","globalVars","initGlobalVars","O","N","patternIDs","document","createElementNS","setAttrs","patternID","patternUnits","setAttributeNS","xlink","preserveAspectRatio","elDefs","seriesNumber","getSeriesIndex","getFillColors","fillType","getFillType","getOpacityFromRGBA","handlePatternFill","fillConfig","patternFill","defaultColor","handleGradientFill","clippedImgArea","solid","drawPattern","shadeColor","rgb2hex","gradientFrom","gradientTo","drawGradient","W","getMarkerConfig","setSelectionFilter","addEvents","getMarkerStyle","pointShape","passive","B","initialAnim","pointsPos","elParent","drawPoint","fillPath","animateMarker","setTimeout","G","textRects","drawnextLabel","pos","isRangeStart","centerTextInBubble","plotDataLabelsText","parent","offsetCorrection","dataLabelsConfig","alwaysDrawDataLabel","dataLabelsCorrection","addBackgroundToDataLabel","nextSibling","V","legendInactiveClass","getElementsByClassName","escapeString","getSeriesByName","isHidden","isSeriesHidden","legendHelpers","emptyCollapsedSeries","updateHelpers","revertDefaultAxisMinMax","_updateSeries","highlightSeries","paths","hasAttribute","handlePrevBubbleScatterPaths","filteredSeriesX","_","twoDSeries","threeDSeries","twoDSeriesX","coreUtils","isFormatXY","isFormat2DArray","activeSeriesIndex","getActiveConfigSeriesIndex","parseNumber","goals","isValidDate","isRangeData","fallbackToCategory","handleRangeDataFormat","rangeUniques","overlaps","rangeName","handleCandleStickBoxDataFormat","findIndex","isRangeBar","setSeriesYAxisMappings","Set","error","handleRangeData","isMultiFormat","handleFormat2DArray","handleFormatXY","handleCandleStickBoxData","JSON","stringify","convertCatToNumericXaxis","_generateExternalLabels","excludeCollapsedSeriesInYAxis","core","resetGlobals","isMultipleY","parseDataAxisCharts","getLargestSeries","parseDataNonAxisCharts","setNullSeriesToZeroValues","getSeriesTotals","stackedSeriesTotalsByGroups","getStackedSeriesTotalsByGroups","getPercentSeries","handleExternalLabelsData","getCategoryLabels","U","getAttributeNS","Promise","cloneNode","scaleSvgNode","convertImagesToBase64","then","XMLSerializer","serializeToString","getElementsByTagName","startsWith","getBase64FromUrl","catch","resolve","all","Image","crossOrigin","onload","getContext","drawImage","toDataURL","onerror","cleanup","getSvgString","Blob","URL","createObjectURL","elWrap","fillStyle","fillRect","encodeURIComponent","msToBlob","blob","imgURI","svgUrl","triggerDownload","msSaveOrOpenBlob","fileName","lineDelimiter","toDateString","getLabel","pop","sort","href","body","q","elgrid","xaxisLabels","drawnLabels","drawnLabelsRects","offY","isCategoryBarHorizontal","xaxisFontSize","xaxisFontFamily","xaxisForeColors","xaxisBorderWidth","xaxisBorderHeight","drawXAxisLabelAndGroup","cols","elGridBorders","checkLabelBasedOnTickamount","checkForOverflowingLabels","xAxisHeight","on","labelIndex","getYAxisForeColor","drawYAxisTicks","placeTextWithEllipsis","Z","renderGrid","drawGridArea","elGridRectMask","elGridRectBarMask","elGridRectMarkerMask","elForecastMask","elNonForecastMask","elGridRect","elGridRectBar","elGridRectMarker","xCount","_drawGridLine","drawXaxisTicks","elg","xC","_drawGridLines","elgridLinesV","elgridLinesH","hide","_drawXYLines","_drawInvertedXYLines","drawGridBands","xAxisTickWidth","_drawGridBandRect","$","mod","getGCD","getPrimeFactors","stripNumber","_adjustTicksForSmallRange","EPSILON","preciseAddition","logarithmicScaleNice","logarithmicScale","niceScale","linearScale","setYScaleForIndex","J","scales","setYRange","setXRange","setZRange","brushSource","isFloat","noExponents","lowestY","highestY","getMinYMaxY","_setStackedMinMax","scaleMultipleYAxes","setXScale","_handleSingleDataPoint","_getMinXDiff","setUTCDate","setDate","entries","Q","axisFontFamily","xAxisoffX","checkForReversedLabels","getTextAnchor","addTooltip","rotateLabel","firstLabel","addYAxisTitle","addAxisBorder","inversedYAxisTitleText","inversedYAxisBorder","xPaddingForYAxisTitle","xPos","padd","multipleYs","K","documentEvent","chartClass","eventList","which","capture","setupBrushHandler","touches","tt","et","drawYaxisInversed","drawXaxisInversed","drawXaxis","drawYaxis","children","it","breakpoint","innerWidth","screen","extendArrayProps","overrideResponsiveOptions","st","isColorFn","isHeatmapDistributed","checkHeatmapDistributed","isBarDistributed","checkBarDistributed","setDefaultColors","getColors","applySeriesColors","getMonochromeColors","applyColorTypes","applyDataLabelsColors","applyRadarPolygonsColors","applyMarkersColors","predefined","palette1","palette2","palette3","palette4","palette5","palette6","palette7","palette8","palette9","palette10","rt","drawTitleSubtitle","ot","dCtx","elLegendWrap","lgRect","getLargestStringFromArr","nt","getxAxisTimeScaleLabelsCoords","lgWidthForSideLegends","dimHelpers","getLargestStringFromMultiArr","yAxisWidth","gridPad","overlappingXLabels","yAxisWidthRight","yAxisWidthLeft","xPadRight","xPadLeft","lt","ht","isSparkline","getTitleSubtitleCoords","ct","dimYAxis","dimXAxis","dimGrid","getLegendsRect","datalabelsCoords","setDimensionsForAxisCharts","setDimensionsForNonAxisCharts","gridPadFortitleSubtitle","gridPadForColumnsInNumericAxis","getyAxisLabelsCoords","getyAxisTitleCoords","getDatalabelsRect","getTotalYAxisWidth","getxAxisLabelsCoords","getxAxisGroupLabelsCoords","getxAxisTitleCoords","conditionalChecksForAxisCoords","xAxisWidth","additionalPaddingXLabels","setGridXPosForDualYAxis","setYAxisXPosition","dt","lgCtx","createTextNode","clwh","clww","elLegendForeign","getLegendStyles","cs","csi","riseCollapsedSeries","seriesEl","printDataLabelsInner","fire","_getSeriesBasedOnCollapsedState","getSeriesAfterCollapsing","hidden","gt","onLegendClick","onLegendHovered","isBarsDistributed","appendToForeignObject","drawLegends","legendAlignHorizontal","legendAlignVertical","fillcolor","createLegendMarker","getSeriesTotalByIndex","seriesHaveSameValues","setLegendWrapXY","getLegendDimensions","highlightRangeInSeries","toggleSeriesOnHover","ut","ev","selectedClass","localeValues","elZoom","elZoomIn","elZoomOut","elPan","elSelection","elZoomReset","elMenuIcon","elMenu","elCustomIcons","icon","moveIndexInArray","_createHamburgerMenu","addToolbarEventListeners","elMenuItems","handleZoomReset","toggleZoomSelection","handleZoomIn","handleZoomOut","togglePanning","toggleMenu","handleDownload","getSyncedCharts","toggleOtherControls","getToolbarIconsReference","_getNewMinXMaxX","disableZoomIn","zoomUpdateOptions","disableZoomOut","getBeforeZoomRange","_updateOptions","zoomCallback","exportToPng","ft","dragged","startX","endX","dragX","startY","endY","dragY","moveDirection","debounceTimer","debounceDelay","wheelDelay","xyRatios","zoomRect","selectionRect","gridRect","slDraggableRect","draggable","selectionDragging","preselectedSelection","hoverArea","svgMouseEvents","mouseWheelEvent","off","shiftKey","shiftWasPressed","enableZoomPanFromToolbar","changedTouches","panDragging","zoomtype","selectionDrawing","selectionDrawn","delayedPanScrolled","hideSelectionRect","makeSelectionRectDraggable","preventDefault","now","executeMouseWheelZoom","clearTimeout","deltaY","selectize","pointSize","pointType","resize","constraint","drawSelectionRect","panScrolled","updateScrolledChart","pt","ttCtx","elGrid","hasBars","getElGrid","closestInMultiArray","closestInArray","capturedSeries","hoverX","hoverY","getFirstActiveXArray","getElMarkers","getElBars","allTooltipSeriesGroups","xt","tooltipUtil","ttItems","handleCustomTooltip","toggleActiveInactiveSeries","getValuesToPrint","printLabels","values","getElTooltip","tooltipRect","ttWidth","ttHeight","xVal","zVal","xAxisTTVal","getSeriesName","fn","yLbTitleFormatter","attrs","val","DOMHandling","goalVals","pColor","showTooltipTitle","tooltipTitle","isXAxisTooltipEnabled","xaxisTooltipText","tConfig","toggleAllTooltipSeriesGroups","bt","getElXCrosshairs","xcrosshairsWidth","moveXAxisTooltip","ycrosshairs","ycrosshairsHidden","xaxisTooltip","xaxisOffY","yaxisTTEls","resetPointsSize","enlargeCurrentPoint","moveDynamicPointOnHover","getHoverMarkerSize","moveXCrosshairs","fixedTooltip","moveTooltip","getAllMarkers","dataPointsDividedWidth","vt","tooltipPosition","newPointSize","oldPointSize","lastChild","getPathFromPoint","mt","isVerticalGroupedRangeBar","opt","getAttr","drawSeriesTexts","findAncestor","showOnIntersect","getBarTooltipXY","dataPointsDividedHeight","yt","yaxisOffX","yaxisTooltip","yaxisTooltipText","yaxisTooltips","moveYCrosshairs","moveYAxisTooltip","wt","axesTooltip","isBarShared","lastHoverTime","drawXaxisTooltip","drawYaxisTooltip","setXCrosshairWidth","handleYCrosshair","getXAxisTicksPositions","drawDynamicPoints","legendLabels","createTTElements","addSVGEvents","order","seriesBound","tooltipEl","tooltipY","tooltipX","addPathsEventListeners","addDatapointEventsListeners","onSeriesHover","seriesHover","seriesHoverTimeout","getGroupedCharts","seriesHoverByContext","chartCtx","drawFixedTooltipRect","axisChartsTooltips","nonAxisChartsTooltips","handleMouseOut","handleStickyTooltip","handleHeatTreeTooltip","handleBarTooltip","hasMarkers","handleMarkerTooltip","drawYaxisTooltipText","decodeURIComponent","getNearestValues","handleStickyCapturedSeries","isXoverlap","isInitialSeriesSameLen","deactivateHoverFilter","enlargePoints","moveDynamicPointsOnHover","barSeriesHeight","getBarsHeight","moveStickyTooltipOverBars","moveMarkers","kt","barCtx","totalFormatter","columnGroupIndex","barXPosition","barYPosition","visibleSeries","renderedPath","barOptions","bcx","bcy","dataLabelsX","dataLabelsY","barDataLabelsConfig","barTotalDataLabelsConfig","offX","calculateBarsDataLabelsPosition","calculateColumnsDataLabelsPosition","drawCalculatedDataLabels","drawTotalDataLabels","totalDataLabelsX","totalDataLabelsY","totalDataLabelsAnchor","getStackedTotalDataLabel","totalDataLabels","barHelpers","getZeroValueEncounters","zeroEncounters","isReversed","lastActiveBarSerieIndex","At","totalItems","seriesLen","visibleI","visibleItems","arrBorderRadius","createBorderRadiusArr","zeroSerieses","checkZeroSeries","translationsIndex","yDivision","zeroH","zeroW","prevY","prevX","prevYF","prevXF","prevYVal","prevXVal","xArrj","xArrjF","xArrjVal","yArrj","yArrjF","yArrjVal","isNullValue","elSeries","seriesGroup","columnWidthOffset","getPreviousPath","roundPathCorners","barHeightOffset","getXForValue","getYForValue","strokeHeight","strokeLineCap","goalX","goalY","prevPaths","currPaths","nonZeroColumns","columnGroupIndices","groupIndex","St","yaxisIndex","pathArr","getBarSeriesIndices","getLogSeries","getLogYRatios","initVariables","getGroupIndex","addCollapsedClassToSeries","initialPositions","getStrokeWidth","indexes","bc","drawBarPaths","drawColumnPaths","getPathFillColor","drawBarShadow","drawGoalLine","renderSeries","pathFill","elDataLabelsWrap","elGoalsMarkers","elBarShadows","lineFill","renderPaths","handleBarDataLabels","getBarpaths","barBackground","getGoalValues","getBarXForNumericXAxis","getColumnPaths","Ct","initializeStackedPrevVars","groupCtx","initializeStackedXYVars","drawStackedBarPaths","drawStackedColumnPaths","Lt","candlestickOptions","boxOptions","isBoxPlot","drawHorizontalBoxPaths","drawVerticalBoxPaths","getOHLCValue","Pt","determineColor","percent","colorProps","Mt","dynamicAnim","rectRadius","negRange","checkColorRange","getShadeColor","addListeners","animateHeatMap","animateHeatColor","calculateDataLabels","unshift","animateRect","It","Tt","animBeginArr","animDur","donutDataLabels","lineColorArr","defaultSize","centerY","centerX","fullAngle","initialAngle","donutSize","dataLabelsGroup","sliceLabels","sliceSizes","prevSectorAngleArr","negToZero","drawPolarElements","drawCircle","drawArcs","renderInnerDataLabels","hollowSize","getChangedPath","polarToCartesian","animatePaths","prevStartAngle","prevEndAngle","animateStartingPos","shouldSetPrevPaths","dur","pieClicked","revertDataLabelsInner","animateArc","getPiePath","me","angle","during","isTrack","drawYAxisTexts","drawSpokes","printInnerLabels","zt","isLog","maxValue","minValue","dataRadiusOfPercent","dataRadius","angleArr","yaxisLabelsTextsPos","dataPointsLen","disAngle","yaxisLabels","getDataPointsPos","createPaths","linePathsTo","linePathsFrom","areaPathsFrom","areaPathsTo","drawPolygons","drawXAxisTexts","getPolygonPos","drawPolygon","getTextPos","newX","newY","Xt","totalAngle","trackStartAngle","trackEndAngle","radialDataLabels","onBarLabelClick","drawTracks","colorArr","elHollow","drawHollowImage","drawHollow","loaded","Et","rangeBarOptions","rangeBar","detectOverlappingBars","srty","initPositions","drawRangeBarPaths","srtx","drawRangeColumnPaths","getRangeValue","preventBarOverflow","Yt","lineCtx","categoryAxisCorrection","pathFromLine","pathFromArea","appendPathFrom","lineYPosition","prevSeriesY","zeroY","Ft","Ht","Rt","Dt","Ot","pointsChart","scatter","noNegatives","lineHelpers","sameValueSeriesFix","_initSerieVariables","determineFirstPrevY","_calculatePathsFrom","prevY2","pX","pY","pathsFrom","linePaths","areaPaths","y2Arrj","_iterateOverDataPoints","iterations","_handlePaths","elPointsMain","zIndex","areaBottomY","checkPreviousPaths","linePath","areaPath","calculatePoints","_createPaths","pathState","segmentStartX","handleNullDataPoints","_handleMarkersAndLabels","plotChartMarkers","drawDataLabel","TreemapSquared","generate","xoffset","yoffset","shortestEdge","getCoordinates","cutArea","Nt","Wt","Bt","animateTreemap","getFontSize","truncateLabels","rotateToFitLabel","jt","timeScaleArray","utc","determineInterval","getTimeUnitsfromTimestamp","firstVal","currentMillisecond","currentSecond","currentMinute","currentHour","currentMonthDate","currentDate","currentMonth","currentYear","daysWidthOnXAxis","hoursWidthOnXAxis","minutesWidthOnXAxis","secondsWidthOnXAxis","numberOfSeconds","numberOfMinutes","numberOfHours","numberOfDays","numberOfMonths","numberOfYears","tickInterval","generateYearScale","generateMonthScale","generateDayScale","generateHourScale","generateMinuteScale","generateSecondScale","formatDates","removeOverlappingTS","plotCoords","determineRemainingDaysOfYear","determineDaysOfYear","_getYear","date","createRawDateString","parseDateWithTimezone","dateString","_t","Doc","setSVGDimensions","defs","rangeArea","drawSeriesByGroup","getDimensions","drawXCrosshairs","drawYCrosshairs","calculateTimeScaleTicks","recalcDimensionsBasedOnFormat","getCalculatedRatios","getChartByID","updateSourceChart","Ut","getPreviousPaths","update","_extendSeries","supported","parser","prepare","ns","xmlns","svgjs","did","eid","inherit","invent","Container","adopt","instance","nodeName","SVGElement","Nested","Gradient","Element","namespace","setData","documentElement","nested","poly","polyline","native","regex","numberAndUnit","hex","reference","transforms","whitespace","isHex","isRgb","isCss","isBlank","isPercent","isImage","delimiter","hyphen","pathLetters","isPathLetter","numbersWithDots","dots","utils","filterSVGElements","defaults","Color","exec","toHex","toRgb","brightness","morph","destination","isColor","PointArray","toUpperCase","PathArray","Point","toJSON","plus","minus","times","divide","relative","_stroke","_event","center","writeDataToDom","after","removeElement","addTo","put","putIn","visible","hasClass","addClass","removeClass","toggleClass","matches","doc","parents","matchesSelector","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","Parent","each","removeAttribute","MorphObj","Situation","reversing","duration","finish","ease","loop","loops","styles","once","FX","_target","situations","situation","paused","lastPos","absPos","_speed","queue","timeToAbsPos","absPosToTime","startAnimFrame","stopAnimFrame","animationFrame","requestAnimationFrame","step","cancelAnimationFrame","startCurrent","initAnimations","dequeue","stop","initialTransformation","matrixify","clearQueue","clearCurrent","atEnd","last","detail","_callStart","eased","eachAt","Matrix","multiply","undo","extract","matrix","Box","BBox","Shape","clientLeft","clientTop","atan2","transformedX","transformedY","rotation","translate","createSVGMatrix","ctm","getCTM","screenCTM","getScreenCTM","point","attributes","nodeValue","leading","rebuild","untransform","toParent","toDoc","Transformation","inversed","Translate","cssText","has","first","clear","hasChildNodes","_defs","ungroup","Defs","flatten","ViewBox","listeners","handlerMap","listenerId","_svgjsListenerId","removeEventListener","Event","dispatchEvent","CustomEvent","cancelable","event","getElementById","version","Stop","Pattern","symbol","Use","element","use","Rect","Circle","Ellipse","ellipse","Line","toLine","Polyline","Polygon","_array","morphArray","Path","load","_loaded","ratio","url","_error","Text","_rebuild","_build","nodeType","newLined","build","textPath","Tspan","dx","dy","TextPath","prefix","getTotalLength","pointAt","getPointAtLength","set","remember","forget","_memory","bubbles","createEvent","initCustomEvent","backgroundAlpha","autoSetIn","BlendEffect","colorMatrix","ColorMatrixEffect","convolveMatrix","ConvolveMatrixEffect","ComponentTransferEffect","CompositeEffect","FloodEffect","OffsetEffect","ImageEffect","MergeEffect","GaussianBlurEffect","morphology","MorphologyEffect","diffuseLighting","DiffuseLightingEffect","displacementMap","DisplacementMapEffect","specularLighting","SpecularLightingEffect","tile","TileEffect","turbulence","TurbulenceEffect","Effect","in","ParentEffect","ChildEffect","in2","kernelMatrix","operator","xChannelSelector","yChannelSelector","numOctaves","seed","stitchTiles","baseFrequency","MergeNode","surfaceScale","diffuseConstant","kernelUnitLength","specularExponent","distantLight","azimuth","elevation","pointLight","spotLight","pointsAtX","pointsAtY","pointsAtZ","mergeNode","sepiatone","dest","reflection","acos","tan","transformPoint","matrixTransform","rbox","buttons","handler","defaultPrevented","stopPropagation","createSVGPoint","startPoints","box","drag","snapToGrid","pointSelection","isSelected","rectSelection","pointsList","rb","lb","pointCoord","pointCoords","pointsExclude","deepSelect","selectPoints","selectRect","observe","drawPoints","getPointArray","returnValue","pageX","pageY","classPoints","updatePointSelection","updateRectSelection","rotationPoint","classRect","MutationObserver","observerInst","disconnect","parameters","lastUpdateCall","pageXOffset","pageYOffset","_extractPosition","calc","checkAspectRatio","snapToAngle","constraintToBox","saveAspectRatio","qt","publicMethods","axes","localization","formatters","titleSubtitle","dimensions","zoomPanSelection","Zt","isUpdating","clearDomElements","killSVG","$t","WeakMap","initModules","windowResizeHandler","_windowResizeHandler","parentResizeHandler","_parentResizeCallback","_chartInstances","Node","DOCUMENT_FRAGMENT_NODE","ResizeObserver","getRootNode","ownerDocument","prepend","head","mount","checkResponsiveConfig","setupElements","checkComboSeries","handleNoData","setupEventHandlers","parseData","setGlobalMarkerSize","setLabelFormatters","hasAllSeriesEqualX","coreCalculations","heatmapLabelFormatters","getLargestMarkerSize","xySettings","createGridMask","plotChartType","bringForward","dataLabelsBackground","shiftGraphPosition","elGraph","drawGrid","drawImageAnnos","drawTextAnnos","drawAxis","xAxisLabelCorrections","setYAxisTextAlignments","yAxisTitleRotate","drawAxesAnnotations","drawTooltip","createToolbar","resizeNonAxisCharts","delete","forceXAxisUpdate","forceYAxisUpdate","clearPreviousPaths","updateThemeOptions","addXaxisAnnotationExternal","addYaxisAnnotationExternal","addPointAnnotationExternal","getSeriesTotalsXRange","setCurrentLocaleValues","_windowResize","baseForOwn","baseEach","createBaseEach","self","646","713","860","206","319","8","__esModule","toStringTag","VueSelect","mixins","autoscroll","watch","typeAheadPointer","maybeAdjustScroll","open","$nextTick","$refs","dropdownMenu","getDropdownViewport","scrollTop","offsetTop","filteredOptions","selectable","typeAheadToLastSelected","selectedValue","typeAheadUp","typeAheadDown","typeAheadSelect","loading","mutableLoading","search","$emit","toggleLoading","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","Deselect","$createElement","_self","_c","OpenIndicator","inserted","appendToBody","toggle","scrollX","scrollY","unbindPosition","calculatePosition","unbind","components","directives","disabled","clearable","deselectFromDropdown","searchable","multiple","placeholder","transition","clearSearchOnSelect","closeOnSelect","autocomplete","Function","getOptionLabel","getOptionKey","onTab","selectOnTab","isComposing","taggable","tabindex","pushTags","filterable","filterBy","toLocaleLowerCase","createOption","optionList","resetOnOptionsChange","validator","clearSearchOnBlur","noDrop","inputId","dir","selectOnKeyCodes","searchInputQuerySelector","mapKeydown","dropdownShouldOpen","uid","pushedTags","_value","computed","isTrackingValues","propsData","$data","searchEl","$scopedSlots","selectedOptions","scope","searching","searchPlaceholder","readonly","ref","dropdownOpen","compositionstart","compositionend","keydown","onSearchKeyDown","keypress","onSearchKeyPress","onSearchBlur","focus","onSearchFocus","input","spinner","noOptions","openIndicator","role","listHeader","listFooter","header","deselect","footer","childComponents","stateClasses","isValueEmpty","optionExists","showClearButton","clearSelection","setInternalValueFromOptions","immediate","$on","pushTag","findOptionFromReducedValue","isOptionSelected","updateValue","onAfterSelect","optionComparator","toggleDropdown","deselectButtons","clearButton","isOptionDeselectable","find","closeSearchOptions","maybeDeleteValue","normalizeOptionForSlot","onEscape","onMousedown","onMouseUp","9","27","38","40","keyCode","staticClass","_v","_l","_s","refInFor","tag","_e","option","_g","_b","rawName","expression","mouseup","mouseover","staticStyle","visibility","ajax","pointer","pointerScroll","$padStart","proto","forced","padStart","$entries","stat","component","AgGridVue","arrayPush","isFlattenable","baseFlatten","depth","predicate","isStrict","flattenIntoArray","aCallable","toObject","lengthOfArrayLike","arraySpeciesCreate","flatMap","callbackfn","sourceLen","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","collection","iteratees","createBaseFor","addToUnscopables","getIteratorFlattenable","createIteratorProxy","iteratorClose","IS_PURE","IteratorProxy","inner","mapper","counter","real","thisArg","isArrayLike","eachFunc","fromRight","iterable","keysFunc","doesNotExceedSafeInteger","original","elementLen","targetIndex","sourceIndex","mapFn","constant","baseSetToString","string","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","vSelect","managedNetworks","busy","network","network_search_option","network_search_options","selected_networks","managed_networks","$store","dispatch","networks","sortBy","_vm","$event","model","callback","$$v","btnClickedHandler","template","gridOptions","frameworkComponents","columnDefs","rowData","industryUsers","defaultColDef","resizable","floatingFilter","onGridReady","btnViewIndustryDetailsRenderer","BtnViewIndustryDetails","sortable","filterParams","filterOptions","suppressAndOrCondition","headerName","headerComponentParams","field","flex","cellRenderer","comparator","filterLocalDateAtMidnight","cellValue","dateAsString","dateParts","cellDate","browserDatePicker","cellRendererParams","showIndustryUserDetails","gridApi","api","gridColumnApi","columnApi","$http","resp","users","sortedArray","approved","industryUsersRequests","btnApproveMembershipCellRenderer","BtnApproveMembership","btnRejectMembershipCellRenderer","BtnRejectMembership","approveMembership","rejectMembership","requests","$swal","html","user","fullname","short_name","showCloseButton","showCancelButton","confirmButtonText","customClass","confirmButton","buttonsStyling","didOpen","close","preConfirm","membershipDuration","getPopup","showValidationMessage","isConfirmed","requestData","membership_duration","_this4","cancelButton","IndustryUsers","IndustryUsersRequests","currentView","showIndustryUsersDetailsView","selectedNetworkUser","networkUserStats","modalData","itemType","isMembershipActive","closeIndustryUserDetails","utcToLocal","moment","local","daysUntilExpiration","diff","onNetworkSelected","selectedNetwork","networkUser","network_memberships","nu","network_id","network_user_stats","nus","membership_expires_at","localExpirationDate","isAfter","showModal","statType","$bvModal","extendMembership","slug","network_slug","membership_duration_update","post","location","reload","revokeMembership","created_at","role_name","is_contributor","is_moderator","accessed_media","uploaded_media","uploaded_collections","liked_media","liked_collections","downloaded_media","downloaded_collections","attended_meetings","messages_sent","XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","set_cp","reset_cp","utf16beread","fromCharCode","charCodeAt","$cptable","_getchar","_getansi","Base64_map","Base64_encode","c1","c2","c3","e1","e2","e3","e4","Base64_decode","has_buf","Buffer","process","versions","Buffer_from","nbfs","buf","enc","new_raw_buf","len","alloc","Uint8Array","new_unsafe_buf","allocUnsafe","s2a","s2ab","ArrayBuffer","view","a2s","bconcat","bufs","isBuffer","maxlen","chr0","chr1","_strrev","pad0","pad_","rpad_","p2_32","pad0r","pad0r1","pad0r2","SSF_isgeneral","table_fmt","3","4","10","11","12","13","14","15","16","17","18","19","20","21","22","37","39","45","46","47","48","49","56","SSF_default_map","5","6","7","23","24","25","26","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","mixed","sgn","P_2","P_1","Q_2","Q_1","SSF_parse_date_code","b2","time","dow","dout","out","date1904","SSF_fix_hijri","SSFbasedate","SSFdnthresh","SSFbase1904","datenum_local","epoch","SSF_strip_decimal","SSF_general_num","LOG10E","toExponential","SSF_small_exp","SSF_large_exp","SSF_normalize_exp","SSF_general","SSF_format","SSF_write_date","fmt","ss0","ss","outl","commaify","pct1","frac1","dec1","closeparen","phone","hashq","cc","rnd","dd","dec","_frac","write_num_flt","ffmt","idx","write_num","write_num_cm","sfmt","mul","write_num_pct","write_num_exp","period","ee","fakee","$$","$1","$2","$3","ri","ff","aval","sign","den","rr","base","myn","myd","write_num_f1","carry","oa","lres","rres","flr","write_num_int","write_num_cm2","write_num_pct2","write_num_exp2","write_num_f2","lastIndexOf","SSF_abstime","fmt_is_date","cfregex2","chkcond","thresh","choose_fmt","in_str","SSF_split_fmt","lat","m1","m2","dateNF","table","flen","lst","hr","ssm","jj","nstr","myv","ostr","vv","decpt","lasti","retval","eval_fmt","SSF_load","SSF_load_table","tbl","make_ssf","dateNFregex","CRC32","T0","Int32Array","signed_crc_table","TT","subarray","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","CFB","fs","dirname","write_dos_date","hms","write_shift","ymd","parse_extra_field","prep_blob","flags","read_shift","sz","tgt","mtime","atime","ctime","get_fs","file","parse_zip","root","di","mboundary","boundary","FileIndex","FullPaths","init_cfb","start_di","fcnt","parse_mime","parse_mad","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","check_shifts","dir_cnt","sectors","nsectors","sectorify","sleuth_fat","cnt","ENDOFCHAIN","sector","__readInt32LE","sector_list","sl","chkd","buf_chain","modulus","seen","addr","nodes","__toBuffer","make_sector_list","Paths","files","mini","minifat_store","pl","namelen","__utf16le","clsid","state","read_date","storage","get_sector_list","content","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","raw","entry","payload","MSSZ","new_buf","__readUInt32LE","cfb","CLSID","nm","rebuild_cfb","seed_cfb","gc","_file","fullPaths","HEADER_CLSID","namecmp","elt","_write","_opts","fileType","fp","fi","ca","cstr","dispcnt","csl","qp","get_content_type","write_quoted_printable","write_base64_76","write_mad","cdirs","compression","start_cd","crcs","sz_cd","namebuf","outbuf","_zlib","deflateRawSync","_deflate","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","CLEN_ORDER","LEN_LN","DST_LN","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","read_bits_3","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","boff","write_stored","addrs","hash","mlen","len_eb","dst_eb","write_huff_fixed","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","h2","_inflate","usz","woff","OL","max_len_1","max_len_2","bits","code","dst","inflate","warn_or_throw","wrn","msg","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","cfb_add","unsafe","ContentTypeMap","ctype","ext","encoded","si","tmp","fdata","fname","cte","oi","parse_quoted_printable","fpath","cfb_gc","UCFullPaths","UCPaths","UCPath","read","readFileSync","read_file","write","writeFileSync","writeFile","cfb_new","cfb_del","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","message","_inflateRaw","_fs","blobify","a2u","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","msSaveBlob","saveAs","chrome","downloads","revokeObjectURL","File","Folder","encoding","ks","o2","evert_key","evert","evert_num","basedate","datenum","refdate","dnthresh","refoffset","numdate","setTime","good_pd_date_1","good_pd_date","good_pd","fixdate","cc2str","arr","debomit","TextDecoder","decode","dup","fuzzynum","NaN","lower_months","fuzzydate","getYear","zip_add_file","zip","res","widx","ridx","utf8decode","zip_new","XML_HEADER","encodings","rencoding","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","parsexmlbool","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","htmldecode","entities","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","XMLNS","XMLNS_main","XLMLNS","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","read_double_le","__double","is_buf","cpdoit","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","lens","__writeUInt16LE","WriteShift","cppayload","__writeUInt32LE","bs","av","LN2","write_double_le","__writeInt32LE","hexstr","fld","parsenoop","buf_array","blksz","newblk","curbuf","endbuf","_bufs","write_record","ba","XLSBRecordEnum","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","encode_cell_xls","encode_cell","fix_row","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","col","decode_cell","decode_range","encode_range","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","parse_BrtCommentText","write_BrtCommentText","run","write_StrRun","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","nTS","tint","DocSummaryPIDDSI","SummaryPIDSI","rgbify","XLSIcv","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","write_ct","type2ct","evert_arr","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","CORE_PROPS","EXT_PROPS","CUST_PROPS","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","TCMNT","PEOPLE","VBA","get_rels_path","write_rels","rels","rid","add_rels","rId","relobj","targetmode","Id","Type","Target","TargetMode","write_rdf_type","write_meta_ods","cp_doit","write_core_props","Props","CreatedDate","WTF","ModifiedDate","PseudoPropsPairs","write_ext_props","Application","Worksheets","baseType","write_cust_props","pid","write_vt","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","write_TypedPropertyValue","write_FILETIME","XLSPSSkip","guess_property_type","write_PropertySet","RE","PIDSI","hdr","piao","pr","pio","pinfo","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsebool","writebool","parseuint16","writeuint16","write_Bes","parse_ShortXLUnicodeString","cch","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","write_HyperlinkString","write_Hyperlink","hl","hashidx","Pretarget","write_XLSCell","ixfe","parse_XTI","parse_Ref8U","rwFirst","rwLast","write_Ref8U","write_BOF","wb","write_BoundSheet8","hs","write_Format","b5","write_XF","ixfeP","parse_ExternSheet","parse_BIFF5ExternSheet","write_HLink","write_HLinkTooltip","Tooltip","parse_ColInfo","cellStyles","colFirst","colLast","coldx","level","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","hend","sheetRows","dbf_to_aoa","wch","_RLEN","to_workbook","to_sheet","from_sheet","aoa","sheet_to_json","headers","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","RT","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","rows","px2pt","write_ws_rows_sylk","coord","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","meta","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","datestr","timestr","dateNF_fix","cellText","cellNF","outer","prn_to_sheet_str","prn_to_aoa_str","prn_to_sheet","bytes","firstbyte","WK_","lotushopper","cb","Enum","WK1Enum","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","parse_cell","parse_LABEL","write_LABEL","write_INTEGER","write_NUMBER","wk1_parse_rc","FuncTab","BinOpTab","parse_cell_3","write_LABEL_16","wsidx","parse_NUMBER_17","v1","v2","write_NUMBER_17","log2","parse_NUMBER_27","parse_SHEETNAMECS","write_XFORMAT_SHEETNAME","argc","argL","argR","wk1_fmla_to_csf","sheet_to_wk1","write_biff_rec","write_RANGE","max_R","book_to_wk3","wscnt","write_BOF_WK3","straywsregex","write_sst_xml","sst","bookSST","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","Verifier","PasswordDecoded","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rgb2Hex","MDW","px","char2width","chr","coll","customWidth","write_sty_xml","SSF","NF","formatCode","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","write_BrtFont","font","grbit","italic","strike","outline","shadow","condense","write_FontFlags","bold","sss","vertAlign","underline","family","charset","scheme","rev_XLSBFillPTNames","XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","patternType","write_BrtXF","write_Blxf","parse_BrtBorder","write_BORDERS_bin","write_STYLES_bin","xfId","builtinId","write_TABLESTYLES_bin","defTableStyle","defPivotStyle","write_BrtBeginTableStyles","write_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","write_DXFS_bin","write_theme","Themes","themeXLSX","write_xlmeta_bin","write_BrtBeginEsfmd","cm","write_BrtBeginEsmdb","mdb","write_BrtMdb","write_xlmeta_xml","_shapeid","write_comments_vml","csize","joinstyle","gradientshapeok","coordsize","fillopts","fillparm","fillxml","strokecolor","write_comments_xml","iauthor","ID","lastauthor","ts","write_tcmnt_xml","people","carr","rootid","tcopts","tcid","parentId","personId","parse_BrtCommentAuthor","write_comments_bin","comment","write_BrtCommentAuthor","write_BrtBeginComment","VBAFMTS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","delta","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","cce","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfLel","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","Ptg19","bitIf","bitGoto","parse_RgbExtra","rgce","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","get_ixti_raw","supbooks","XTI","SID","Name","get_ixti","ixtiraw","sname","formula_quote_sheet_name","stringify_formula","stack","nameidx","last_sp","sp","fflen","lbl","names","xlfn","externbook","bookidx","itab","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","write_Formula","os","o1","write_FormulaValue","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","32","34","35","36","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","124","125","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","153","155","159","164","166","167","168","169","170","171","172","173","174","175","185","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","207","208","209","210","211","212","213","214","215","216","217","218","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","256","259","260","265","266","267","268","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","354","355","356","370","373","374","375","376","377","378","379","380","381","382","383","384","385","386","388","390","391","392","393","394","395","396","397","398","399","400","412","413","414","415","416","417","420","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","517","518","519","520","521","522","523","545","546","547","548","549","620","621","647","653","667","673","753","755","808","33","123","141","154","156","157","158","160","165","176","179","180","181","182","183","184","205","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","261","262","263","264","270","271","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","351","353","357","358","359","360","361","362","363","364","365","366","367","368","369","371","372","387","389","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","65535","browser_has_Map","Map","get_sst_id","revarr","col_obj_w","outlineLevel","default_margins","margins","get_cell_style","revssf","ssf","applyNumberFormat","check_ws","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_cell","oldt","oldv","Strings","revStrings","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","CodeName","codeName","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","Views","rightToLeft","RTL","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","_cell","customHeight","write_ws_xml_data","password","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","merges","relc","ignoreEC","numberStoredAsText","sqref","write_row_header","miyRw","ncolspan","lcs","caddr","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","parse_BrtShortReal","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","last_seen","ncell","write_BrtShortIsst","write_BrtCellIsst","write_BrtShortSt","write_BrtCellSt","write_BrtShortRk","write_BrtCellRk","write_BrtShortReal","write_BrtCellReal","write_BrtShortBool","write_BrtCellBool","write_BrtShortError","write_BrtCellError","write_BrtShortBlank","write_BrtCellBlank","write_MERGECELLS","write_COLINFOS","write_BrtColInfo","write_IGNOREECS","write_HLINKS","locidx","write_BrtHLink","write_WSVIEWS2","write_BrtBeginWsView","write_SHEETPROTECT","write_ws_bin","write_BrtWsProp","cap","write_CELLTABLE","write_AUTOFILTER","write_LEGACYDRAWING","WBPropsDef","badchars","check_ws_name","safe","_good","check_wb","codes","cn","write_wb_xml","write_names","workbookPr","WBProps","Hidden","sheetId","Comment","localSheetId","write_BOOKVIEWS","vistab","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","iTabID","strRelID","write_BrtBundleSh","write_BUNDLESHS","write_ws","write_cmnt","write_props_xlml","xlml_write_docprops","Custprops","BLACKLIST","xlml_write_custprops","write_name_xlml","write_ws_xlml_cell","marr","mi","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","xf","write_sty_xlml","write_names_xlml","PSCLSID","write_xlscfb","wbpath","write_biff_buf","Keys","DSEntries","SEntries","CEntries","DocSummaryRE","SummaryRE","CEntries2","write_xls_props","vba","newpath","fill_vba_xls","cellFormula","Ptg","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","icv","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","rfx","fAlwaysCalc","relId","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_biff2_buf","write_ws_biff2","write_FONTS_biff8","write_Font","write_ws_cols_biff8","write_ColInfo","write_ws_biff8_cell","write_Number","write_BoolErr","write_LabelSst","b8","write_Label","write_ws_biff8","guts","_WB","_sheet","MAX_ROWS","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","safe1904","write_FMTS_biff8","write_CELLXFS_biff8","write_Country","parts","write_biff_continue","write_SST","blen","fix_write_opts","write_biff8_buf","make_html_row","rowspan","colspan","editable","HTML_BEGIN","make_html_preamble","sheet_to_html","sheet_add_dom","or_R","or_C","midx","is_dom_element_hidden","elts","Aelts","Aelti","parse_dom_table","get_computed_style","defaultView","get_get_computed_style_function","getPropertyValue","write_styles_ods","master_styles","write_content_ods","null_cell_xml","ods","ROWS","textp","_Fref","text_p","_tgt","fods","cidx","colobj","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","u8_to_dataview","DataView","buffer","byteOffset","byteLength","stru8","u8concat","u8a","acc","u8","parse_varint49","ptr","varint","write_varint49","varint_to_i32","i32","parse_shallow","num","write_shallow","parse_iwa_file","_a","ai","messages","fl","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","decompress_iwa_file","compress_iwa_file","frame","write_new_storage","dv","exp","mantissa","writeDecimal128LE","setFloat64","setUint32","write_old_storage","parse_TSP_Reference","write_tile_row","tri","_d","last_offset","cell_storage","_dv","_last_offset","_cell_storage","celload","_celload","setUint16","fix_opts_func","numbers","trunc","dependents","indices","packet2","deps","indices_varint","ivi","mess","u8contains","docroot","xi","packet","sheetrootref","pb","cruidsref","oldbucket","_x","cruids","uuid","store","row_header_ref","base_bucket","_bucket","col_header_ref","sstref","sstroot","sentry","sx","sxi","sstdata","newsst","raw32","tl","tileref","tileroot","tentry","tx","tiledata","rowload","R2","tilerow","raw3","write_numbers_iwa","wbrels","foo","wbext","vbafmt","threadedcomments","links","coreprops","extprops","custprops","themes","calcchains","drawings","TODO","_sn","_i","wsrels","need_vml","cf","rId1","write_sst","write_wb","write_sty","write_xlmeta","write_zip_xlsxb","write_zip_xlsx","needtc","person","displayName","userId","providerId","write_people_xml","write_cfb_ctr","write_zip_denouement","oopts","ftype","encrypt_agile","write_string_type","bom","write_binary_type","writeSync","write_stxt_type","sheet_to_txt","sheet_to_csv","write_cfb_type","write_zip_type","resolve_book_type","make_json_row","defval","isempty","__rowNum__","rawNumbers","outi","header_cnt","skipHidden","blankrows","qreg","make_csv_row","rs","txt","forceQuotes","endregex","strip","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","RC","book_new","book_append_sheet","roll","cell_set_hyperlink","split_cell","json_to_sheet","table_to_sheet","table_to_book","sheet_to_formulae","cmds","sheet_to_row_object_array","sheet_get_cell","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_internal_link","cell_add_comment","author","sheet_set_array_formula","dynamic","rng","rngstr","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","DefaultSidebarLayout","SelectNetwork","IndustryUsersDashboard","IndustryUsersDetails","DateRangePicker","apexchart","filters","group_by_options","date_ranges","Today","subtract","toDate","startOf","endOf","network_user_growth_chart_group_by_option","network_user_growth_chart_selected_search_option","network_user_growth_chart_search_options","network_user_growth_chart_selected_networks","network_user_growth_chart_selected_date","startDate","endDate","network_user_growth_chart_series","network_user_growth_chart_options","show_network_user_growth_chart","registered_user_growth_chart_group_by_option","registered_user_growth_chart_selected_search_option","registered_user_growth_chart_search_options","registered_user_growth_chart_selected_date","registered_user_growth_chart_series","registered_user_growth_chart_options","show_registered_user_growth_chart","network_count_chart_tooltip_labels","network_count_chart_group_by_option","network_count_chart_selected_date","network_count_chart_series","network_count_chart_options","show_network_count_chart","show_popular_network_item_table","popular_network_item_stats","popular_network_item_chart_selected_networks","popular_network_item_chart_selected_date","popular_network_item_chart_selected_search_option","popular_network_item_chart_search_options","show_newsletter_table","newsletter_stats","newsletter_chart_selected_networks","newsletter_chart_selected_date","newsletter_chart_selected_search_option","newsletter_chart_search_options","selected_network_stat","network_stats_options","selected_media_stat","media_stats_options","geolocation_options","geolocation_options_country","inactive_network_stats","network_hits_chart_group_by_option","network_hits_chart_selected_search_option","network_hits_chart_search_options","network_hits_chart_selected_search_for","network_hits_chart_search_for","network_hits_chart_selected_networks","network_hits_chart_selected_date","network_hits_chart_series","network_hits_chart_options","show_network_hits_chart","meeting_id","meeting_detail","total_participant","total_time","average_meeting_time","participant_details","country_list","unique_participant_names","continent_chart_series","continent_chart_options","country_chart_series","country_chart_options","group_by_options_vanity","vanity_chart_vanity_options","vanity_hits_chart_group_by_option","vanity_hits_chart_selected_vanity_option","vanity_hits_chart_selected_date","vanity_hits_chart_series","vanity_hits_chart_options","industryAdmins","showIndustryUserSection","selectedIndustryUser","isIndustryUserAdmin","$auth","email","authorizedAccess","btnDeleteNetworkCellRenderer","BtnDeleteNetwork","deleteNetwork","getVanityLinks","networkUserGrowthChart","registered_user_growth_chart_selected_networks","registeredUserGrowthChart","inactiveNetworkChart","networkCountChart","networkHitsChart","popularNetworkItemChart","newsletterChart","activateTabFromHash","auth","hasRole","$router","$bus","emit","tabList","_step","tabs","_iterator","_createForOfIteratorHelper","dataTarget","_step2","tabContents","_iterator2","tabContent","err","generateUniqueColors","hue","saturation","lightness","networkUserGrowthSearchOptionSelected","search_option","networkUserGrowthNetworkSelected","getMeetingDetail","formData","FormData","append","continent_series","continent_labels","country_series","country_labels","response","showErrorMessage","status","_this5","_this6","_this7","dates","popularNetworkItemSearchOptionSelected","popularNetworkItemNetworkSelected","_this8","newsletterSearchOptionSelected","newsletterNetworkSelected","_this9","geographic_location_country","_this10","networkHitsSearchOptionSelected","networkHitsNetworkSelected","_this11","_this12","renderVanityHitsChart","_this13","datetime","_this14","inputLabel","inputValidator","permanent","showConfirmButton","timer","timerProgressBar","exportToExcel","networkPart","workbook","startDateFormatted","endDateFormatted","_loop","_Object$entries$_i","_Object$entries","sheetName","categoryObject","seriesData","_ref","region","network_users","worksheet","country","closeIndustryUserDetailsView","slot","can","domProps","composing","firstDay","scopedSlots","_u","picker","num_total_hits","num_of_users_accessed","most_popular_networks","network_name","total_hits","most_active_networks","total_members","total_messages","days_since_last_activity","top_growing_networks","total_new_media","total_new_members","geographic_location","most_downloaded_media","media","num_total_downloads","most_liked_media","num_total_likes","most_popular_media_items","most_watched_video","num_total_views","top_media_tags","tag_name","num_total_tags_usage","top_media_contributors","contributor","contributor_image","contributor_name","contributor_email","num_media_uploaded","most_popular_meeting","meeting","num_attendees","shortOut","baseOrderBy","baseRest","isIterateeCall","isSymbol","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","comparer","nativeNow","lastCalled","stamp","remaining"],"mappings":"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yG,GAAI,eACJC,GAAI,cACJC,GAAI,kBACJC,GAAI,cACJC,GAAI,YACJC,GAAI,cACJC,GAAI,YACJ/H,GAAI,gBACJgI,GAAI,OACJC,GAAI,SACJC,GAAI,cACJC,GAAI,YACJC,GAAI,eACJ6tC,GAAI,mBACJC,GAAI,WACJC,GAAI,aACJC,GAAI,UACJC,GAAI,QACJC,GAAI,gBACJC,GAAI,cACJC,GAAI,cACJC,GAAI,QACJC,GAAI,UACJC,GAAI,OACJC,GAAI,SACJC,GAAI,YACJC,GAAI,UACJC,GAAI,eACJC,GAAI,gBACJC,GAAI,iBACJC,IAAK,iBACLC,IAAK,oBACLC,IAAK,oBACLC,IAAK,WACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,gBACLC,IAAK,eACLC,IAAK,SACLC,IAAK,cACLC,IAAK,gBACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,MACLC,IAAK,cACLC,IAAK,iBACLC,IAAK,UACLC,IAAK,aACLC,IAAK,eACLC,IAAK,eACLC,IAAK,aACL34C,IAAK,cACLC,IAAK,cACLC,IAAK,kBACL04C,IAAK,YACLC,IAAK,iBACLC,IAAK,cACL34C,IAAK,eACL44C,IAAK,eACL34C,IAAK,YACL44C,IAAK,QACLC,IAAK,YACLC,IAAK,UACLC,IAAK,gBACLC,IAAK,UACLC,IAAK,aACLC,IAAK,aACLC,IAAK,gBACLC,IAAK,YACLC,IAAK,aACLC,IAAK,UACLC,IAAK,OACLC,IAAK,cACLC,IAAK,UACLC,IAAK,YACLC,IAAK,iBACLC,IAAK,cACLC,IAAK,oBACL55C,IAAK,gBACLC,IAAK,eACLC,IAAK,iBACL25C,IAAK,kBACLC,IAAK,cACLC,IAAK,qBACLC,IAAK,SACLC,IAAK,cACLC,IAAK,WACLC,IAAK,WACLC,IAAK,eACLC,IAAK,eACLC,IAAK,iBACLC,IAAK,eACLC,IAAK,kBACLn6C,IAAK,qBACLo6C,IAAK,aACLC,IAAK,YACLC,IAAK,YACLC,IAAK,gBACLC,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","file":"assets/js/chunk-f10c23a0.a486bcd9.js","sourcesContent":["var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsers.vue?vue&type=style&index=0&id=f23ff0e4&prod&lang=css\"","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr === '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $RangeError = RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('apexcharts/dist/apexcharts.min')) :\n typeof define === 'function' && define.amd ? define(['apexcharts/dist/apexcharts.min'], factory) :\n (global.VueApexCharts = factory(global.ApexCharts));\n}(this, (function (ApexCharts) { 'use strict';\n\n ApexCharts = ApexCharts && ApexCharts.hasOwnProperty('default') ? ApexCharts['default'] : ApexCharts;\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n var ApexChartsComponent = {\n props: {\n options: {\n type: Object\n },\n type: {\n type: String\n },\n series: {\n type: Array,\n required: true,\n default: function _default() {\n return [];\n }\n },\n width: {\n default: \"100%\"\n },\n height: {\n default: \"auto\"\n }\n },\n data: function data() {\n return {\n chart: null\n };\n },\n beforeMount: function beforeMount() {\n window.ApexCharts = ApexCharts;\n },\n mounted: function mounted() {\n this.init();\n },\n created: function created() {\n var _this = this;\n\n this.$watch(\"options\", function (options) {\n if (!_this.chart && options) {\n _this.init();\n } else {\n _this.chart.updateOptions(_this.options);\n }\n });\n this.$watch(\"series\", function (series) {\n if (!_this.chart && series) {\n _this.init();\n } else {\n _this.chart.updateSeries(_this.series);\n }\n });\n var watched = [\"type\", \"width\", \"height\"];\n watched.forEach(function (prop) {\n _this.$watch(prop, function () {\n _this.refresh();\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (!this.chart) {\n return;\n }\n\n this.destroy();\n },\n render: function render(createElement) {\n return createElement(\"div\");\n },\n methods: {\n init: function init() {\n var _this2 = this;\n\n var newOptions = {\n chart: {\n type: this.type || this.options.chart.type || \"line\",\n height: this.height,\n width: this.width,\n events: {}\n },\n series: this.series\n };\n Object.keys(this.$listeners).forEach(function (evt) {\n newOptions.chart.events[evt] = _this2.$listeners[evt];\n });\n var config = this.extend(this.options, newOptions);\n this.chart = new ApexCharts(this.$el, config);\n return this.chart.render();\n },\n isObject: function isObject(item) {\n return item && _typeof(item) === \"object\" && !Array.isArray(item) && item != null;\n },\n extend: function extend(target, source) {\n var _this3 = this;\n\n if (typeof Object.assign !== \"function\") {\n (function () {\n Object.assign = function (target) {\n // We must check against these specific cases.\n if (target === undefined || target === null) {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var output = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var _source = arguments[index];\n\n if (_source !== undefined && _source !== null) {\n for (var nextKey in _source) {\n if (_source.hasOwnProperty(nextKey)) {\n output[nextKey] = _source[nextKey];\n }\n }\n }\n }\n\n return output;\n };\n })();\n }\n\n var output = Object.assign({}, target);\n\n if (this.isObject(target) && this.isObject(source)) {\n Object.keys(source).forEach(function (key) {\n if (_this3.isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, _defineProperty({}, key, source[key]));\n } else {\n output[key] = _this3.extend(target[key], source[key]);\n }\n } else {\n Object.assign(output, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return output;\n },\n refresh: function refresh() {\n this.destroy();\n return this.init();\n },\n destroy: function destroy() {\n this.chart.destroy();\n },\n updateSeries: function updateSeries(newSeries, animate) {\n return this.chart.updateSeries(newSeries, animate);\n },\n updateOptions: function updateOptions(newOptions, redrawPaths, animate, updateSyncedCharts) {\n return this.chart.updateOptions(newOptions, redrawPaths, animate, updateSyncedCharts);\n },\n toggleSeries: function toggleSeries(seriesName) {\n return this.chart.toggleSeries(seriesName);\n },\n showSeries: function showSeries(seriesName) {\n this.chart.showSeries(seriesName);\n },\n hideSeries: function hideSeries(seriesName) {\n this.chart.hideSeries(seriesName);\n },\n appendSeries: function appendSeries(newSeries, animate) {\n return this.chart.appendSeries(newSeries, animate);\n },\n resetSeries: function resetSeries() {\n this.chart.resetSeries();\n },\n zoomX: function zoomX(min, max) {\n this.chart.zoomX(min, max);\n },\n toggleDataPointSelection: function toggleDataPointSelection(seriesIndex, dataPointIndex) {\n this.chart.toggleDataPointSelection(seriesIndex, dataPointIndex);\n },\n appendData: function appendData(newData) {\n return this.chart.appendData(newData);\n },\n addText: function addText(options) {\n this.chart.addText(options);\n },\n addImage: function addImage(options) {\n this.chart.addImage(options);\n },\n addShape: function addShape(options) {\n this.chart.addShape(options);\n },\n dataURI: function dataURI(options) {\n return this.chart.dataURI(options);\n },\n setLocale: function setLocale(localeName) {\n return this.chart.setLocale(localeName);\n },\n addXaxisAnnotation: function addXaxisAnnotation(options, pushToMemory) {\n this.chart.addXaxisAnnotation(options, pushToMemory);\n },\n addYaxisAnnotation: function addYaxisAnnotation(options, pushToMemory) {\n this.chart.addYaxisAnnotation(options, pushToMemory);\n },\n addPointAnnotation: function addPointAnnotation(options, pushToMemory) {\n this.chart.addPointAnnotation(options, pushToMemory);\n },\n removeAnnotation: function removeAnnotation(id, options) {\n this.chart.removeAnnotation(id, options);\n },\n clearAnnotations: function clearAnnotations() {\n this.chart.clearAnnotations();\n }\n }\n };\n\n var VueApexCharts = ApexChartsComponent;\n window.ApexCharts = ApexCharts;\n\n VueApexCharts.install = function (Vue) {\n //adding a global method or property\n Vue.ApexCharts = ApexCharts;\n window.ApexCharts = ApexCharts; // add the instance method\n\n Object.defineProperty(Vue.prototype, '$apexcharts', {\n get: function get() {\n return ApexCharts;\n }\n });\n };\n\n return VueApexCharts;\n\n})));\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (obj, stringHandling) {\n if (!stringHandling || typeof obj !== 'string') anObject(obj);\n var method = getIteratorMethod(obj);\n return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj));\n};\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/*!\n * ApexCharts v3.54.1\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,o=!0,n=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){n=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(n)throw r}}}}function o(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&(\"object\"==typeof i||\"function\"==typeof i))return i;if(void 0!==i)throw new TypeError(\"Derived constructors may only return object or undefined\");return e(t)}(this,a)}}function n(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&u(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function g(t){for(var e=1;e>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===b(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return s(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e,i).attr({opacity:1}).afterAll((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){m.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),w=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,\"in\").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:\"dropShadow\",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),m.isMsEdge()&&\"radialBar\"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=m.isSafari()||m.isFirefox()||m.isMsEdge()?t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),k=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var f,p,x=r(d),b=r(g),v=r(u);f=i(b,x,e),p=i(b,v,e),s(g,f),g.origPoint=b,n.push(g);var m=a(f,b,.5),y=a(b,p,.5),w=[\"C\",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":f,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n=\"a\");var l=[n,t,e,i,a,s,r,o].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,o=t.stroke,n=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,u=t.dataChangeSpeed,f=t.className,p=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,v=t.bindEventsOnPaths,m=void 0===v||v,k=t.drawShadow,A=void 0===k||k,S=this.w,C=new w(this.ctx),L=new y(this.ctx),P=this.w.config.chart.animations.enabled,M=P&&this.w.config.chart.animations.dynamicAnimation.enabled,I=!!(P&&!S.globals.resized||M&&S.globals.dataChanged&&S.globals.shouldAnimate);I?e=s:(e=r,S.globals.animationEnded=!0);var T=S.config.stroke.dashArray,z=0;z=Array.isArray(T)?T[a]:S.config.stroke.dashArray;var X=this.drawPath({d:e,stroke:o,strokeWidth:n,fill:h,fillOpacity:1,classes:f,strokeLinecap:l,strokeDashArray:z});if(X.attr(\"index\",a),b&&(\"bar\"===p&&!S.globals.isHorizontal||S.globals.comboCharts?X.attr({\"clip-path\":\"url(#gridRectBarMask\".concat(S.globals.cuid,\")\")}):X.attr({\"clip-path\":\"url(#gridRectMask\".concat(S.globals.cuid,\")\")})),\"none\"!==S.config.states.normal.filter.type)C.getDefaultFilter(X,a);else if(S.config.chart.dropShadow.enabled&&A){var E=S.config.chart.dropShadow;C.dropShadow(X,E,a)}m&&(X.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,X)),X.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,X)),X.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,X))),X.attr({pathTo:r,pathFrom:s});var Y={el:X,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:n,delay:c};return!P||S.globals.resized||S.globals.dataChanged?!S.globals.resized&&S.globals.dataChanged||L.showDelayedElements():L.animatePathsGradually(g(g({},Y),{},{speed:d})),S.globals.dataChanged&&M&&I&&L.animatePathsGradually(g(g({},Y),{},{speed:u})),X}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=m.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=m.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var p=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),p){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),A=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0){var u=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/o[e]};if(r.isMultipleYAxis){l=[];for(var f=0;f0&&e.forEach((function(e){var o=[],n=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(o.push(t.series[a]),n.push(i))})),o.length>0&&r.push(a.draw(o,i,n))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),S=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4);var o=\"top\"===t.label.position?r.width:-r.width;s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+o);var n=this.annoCtx.graphics.rotateAroundCenter(s),l=n.x,h=n.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(l,\" \").concat(h,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,o=r.left,n=r.right,l=r.top,h=r.bottom;if(\"vertical\"===e.label.orientation){var c=[o,n,l,h];l=c[0],h=c[1],o=c[2],n=c[3]}var d=s.left-a.left-o,g=s.top-a.top-l,u=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,g,s.width+o+n,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&u.node.classList.add(e.id),u}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,\"xaxis\")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,\"yaxis\")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=this.w,s=\"y1\"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var o=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,n=o.indexOf(s),l=a.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\".concat(n+1,\")\"));i=l?parseFloat(l.getAttribute(\"y\")):(a.globals.gridHeight/o.length-1)*(n+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new A(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return\"string\"==typeof s&&s.includes(\"px\")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=\"x1\"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,o=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,n=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(o/i.globals.gridWidth):(a-s)/(o/i.globals.gridWidth);return\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),\"string\"==typeof a&&a.includes(\"px\")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),l>i.globals.gridWidth?(l=i.globals.gridWidth,n=!0):l<0&&(l=0,n=!0),{x:l,clipped:n}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(\" \"):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\".concat(a+1,\")\"));return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),C=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new S(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=r.x,n=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(m.isNumber(o)){if(null===t.x2||void 0===t.x2){if(!n){var d=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var g=this.helpers.getX1X2(\"x2\",t);if(a=g.x,l=g.clipped,!n||!l){if(a12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])h/g,\"$1\"+u);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])m/g,\"$1\"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=m.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),P=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new L(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(m.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(m.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(m.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),M=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new P(this.ctx),f=l;o&&(h=u.xLabelFormat(c,l,f,{i:a,dateFormatter:new L(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new L(this.ctx).formatDate,w:n})));var p,x;e.length>0?(p=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),g=x===p,i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new k(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var m=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&m)&&(h=\"\"),{x:i,text:h,textRect:v,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new A(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,o){var n=this.w,l=new k(this.ctx),h=n.globals.translateY+n.config.yaxis[s].labels.offsetY;if(n.globals.isBarHorizontal?h=0:\"heatmap\"===n.config.chart.type&&(h+=r/2),a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);o.add(d),h+=r}}}}]),t}(),I=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new S(this.annoCtx),this.axesUtils=new M(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2(\"y1\",t),n=o.yP,l=o.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var g=this.annoCtx.graphics.drawLine(0+t.offsetX,n+t.offsetY,this._getYAxisAnnotationWidth(t),n+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(g.node),t.id&&g.node.classList.add(t.id)}}else{if(a=(o=this.helpers.getY1Y2(\"y2\",t)).yP,h=o.clipped,a>n){var u=n;n=a,a=u}if(!l||!h){c=!0;var f=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);f.node.classList.add(\"apexcharts-annotation-rect\"),f.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(f.node),t.id&&f.node.classList.add(t.id)}}if(c){var p=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:p+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),T=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new S(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,o=(a=this.helpers.getY1Y2(\"y1\",t)).yP,n=a.clipped;if(m.isNumber(s)&&!n&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:o+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var g=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});g.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(o+t.customSVG.offsetY,\")\")}),g.node.innerHTML=t.customSVG.SVG,e.appendChild(g.node)}if(t.image.path){var u=t.image.width?t.image.width:20,f=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-u/2,y:o+t.image.offsetY-f/2,width:u,height:f,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var z={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},X=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[z],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),E=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new k(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new S(this),this.xAxisAnnotations=new C(this),this.yAxisAnnotations=new I(this),this.pointsAnnotations=new T(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,f,d||\"transparent\",1,g,p,u);M.insertBefore(T.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-svg\":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,n);var p=i.globals.dom.baseEl.querySelector(u);return p&&p.appendChild(f.node),f}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new X,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=m.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:m.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=m.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Y=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:\"\",u=l.globals.ttKeyFormatter,f=l.config.tooltip.y.title.formatter,p={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof f&&(g=f(g,p)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new P(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new L(a).formatDate,w:l}));\"function\"==typeof u&&(d=u(d,p)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x=\"\",b=\"\",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var m=new L(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},R=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'
'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},F=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return m.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),g(g({},this.bar()),{},{chart:{animations:{easing:\"linear\",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Y(g(g({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,o=e.endVal;return R(g(g({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t):function(t){var e=Y(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return R(g(g({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Y(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return R(g(g({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}}}}},{key:\"brush\",value:function(t){return m.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return g(g({},t),{},{plotOptions:g(g({},t.plotOptions),{},{bar:g(g({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return m.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return m.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),D=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new X,s=new F(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),o={};if(i&&\"object\"===b(i)){var n,l,h,c,d,g,u,f,p,x,v={};v=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(n=i.plotOptions)&&void 0!==n&&null!==(l=n.bar)&&void 0!==l&&l.isFunnel&&(v=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(v=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(v=s.brush(v)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(v=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(g=i.plotOptions)&&void 0!==g&&null!==(u=g.bar)&&void 0!==u&&u.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(f=(i=this.checkForCatToNumericXAxis(this.chartType,v,i)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(p=window.Apex.chart)&&void 0!==p&&null!==(x=p.sparkline)&&void 0!==x&&x.enabled)&&(v=s.sparkline(v)),o=m.extend(r,v)}var y=m.extend(o,window.Apex);return r=m.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new F(i),o=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new X;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=m.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[m.extend(i.yAxis,t.yaxis)]:t.yaxis=m.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=m.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new X;return t.annotations.yaxis=m.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new X;return t.annotations.xaxis=m.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new X;return t.annotations.points=m.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),H=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=m.extend({},t),e.initialSeries=m.clone(t.series),e.lastXAxis=m.clone(e.initialConfig.xaxis),e.lastYAxis=m.clone(e.initialConfig.yaxis),e}}]),t}(),O=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new D(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new H).init(t)}}}]),t}(),N=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");k.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),k.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o=\"#fff\",console.warn(\"undefined color - ApexCharts\"));var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=m.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=m.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\",g=\"pattern\".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d);-1===this.patternIDs.indexOf(g)&&(this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=m.getOpacityFromRGBA(d));var f=void 0===r.gradient.opacityTo?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(void 0===r.gradient.gradientToColors||0===r.gradient.gradientToColors.length)o=\"dark\"===r.gradient.shade?h.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?m.rgb2hex(e):e):h.shadeColor(parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?m.rgb2hex(e):e);else if(r.gradient.gradientToColors[n.seriesNumber]){var p=r.gradient.gradientToColors[n.seriesNumber];o=p,p.indexOf(\"rgba\")>-1&&(f=m.getOpacityFromRGBA(p))}else o=e;if(r.gradient.gradientFrom&&(d=r.gradient.gradientFrom),r.gradient.gradientTo&&(o=r.gradient.gradientTo),r.gradient.inverseColors){var x=d;d=o,o=x}return d.indexOf(\"rgb\")>-1&&(d=m.rgb2hex(d)),o.indexOf(\"rgb\")>-1&&(o=m.rgb2hex(o)),l.drawGradient(c,d,o,u,f,n.size,r.gradient.stops,r.gradient.colorStops,s)}}]),t}(),W=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new k(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){m.isNumber(l.y[g])?f+=\" w\".concat(m.randomId()):f=\"apexcharts-nullpoint\";var p=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(p.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(p.pointStrokeColor=o.config.series[n].data[u].strokeColor)),void 0!==a&&(p.pSize=a),(l.x[g]<-o.globals.markers.largestSize||l.x[g]>o.globals.gridWidth+o.globals.markers.largestSize||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(p.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],p)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",p.pSize),new w(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,o=void 0===r?null:r,n=t.size,l=void 0===n?null:n,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,g=this.getMarkerStyle(i),u=null===l?d.globals.markers.size[i]:l,f=d.config.markers;return null!==s&&f.discrete.length&&f.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(g.pointStrokeColor=t.strokeColor,g.pointFillColor=t.fillColor,u=t.size,g.pointShape=t.shape)})),{pSize:null===o?u:o,pRadius:null!==o?o:f.radius,pointStrokeWidth:null!==c?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:e,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new k(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),B=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new k(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(u=f.maxBubbleRadius)}var p=o.x[c],x=o.y[c];if(u=u||0,null!==x&&void 0!==a.globals.series[r][d]||(g=!1),g){var b=this.drawPoint(p,x,u,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var o=this.w,n=a,l=new y(this.ctx),h=new w(this.ctx),c=new N(this.ctx),d=new W(this.ctx),g=new k(this.ctx),u=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:n,dataPointIndex:s,radius:\"bubble\"===o.config.chart.type||o.globals.comboCharts&&o.config.series[a]&&\"bubble\"===o.config.series[a].type?i:null}),f=c.fillPath({seriesNumber:a,dataPointIndex:s,color:u.pointFillColor,patternUnits:\"objectBoundingBox\",value:o.globals.series[a][r]}),p=g.drawMarker(t,e,u);if(o.config.series[n].data[s]&&o.config.series[n].data[s].fillColor&&(f=o.config.series[n].data[s].fillColor),p.attr({fill:f}),o.config.chart.dropShadow.enabled){var x=o.config.chart.dropShadow;h.dropShadow(p,x,a)}if(!this.initialAnim||o.globals.dataChanged||o.globals.resized)o.globals.animationEnded=!0;else{var b=o.config.chart.animations.speed;l.animateMarker(p,b,o.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(p)}),100)}))}return p.attr({rel:s,j:s,index:a,\"default-marker-size\":u.pSize}),h.setSelectionFilter(p,a,s),d.addEvents(p),p.node.classList.add(\"apexcharts-marker\"),p}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),G=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new k(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var f=n.globals.dataLabelsRects[a][u];(t>f.x+f.width||e>f.y+f.height||e+de.globals.gridWidth+b.textRects.width+30)&&(n=\"\");var v=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[o]),\"function\"==typeof v&&(v=v({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(v=g);var m=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(m=0,y=0),e.globals.isSlopeChart&&(0!==o&&(m=-2*d.offsetX+5),0!==o&&o!==e.config.series[r].data.length-1&&(m=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+m,y:s+y,foreColor:v,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:p||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var A=d.dropShadow;new w(this.ctx).dropShadow(x,A)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new k(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new w(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=m.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,o=null,n=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),o=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];n=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),_=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new A(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new V(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new V(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(m.parseNumber(t[e].data[r][4])):this.twoDSeries.push(m.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new L(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var n=[],l=p(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);n[i]||(n[i]=[]),n[i].push(s.seriesNames[e])})),s.seriesGroups=n;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return m.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new F(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),U=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),o=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(o,s),t.convertImagesToBase64(o).then((function(){r=(new XMLSerializer).serializeToString(o),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(n.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],u=\"\",f=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),x=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():m.isNumber(t)?t:t.split(r).join(\"\")},b=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},v=Math.max.apply(Math,p(i.map((function(t){return t.data?t.data.length:0})))),y=new _(this.ctx),w=new M(this.ctx),k=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new V(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=w.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),m.isNumber(i)?i:i.split(r).join(\"\"))},A=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||p(Array(v)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new k(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:p,fontSize:g,fontFamily:u,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new k(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new k(this.ctx);t||(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new k(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,p(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,\"clipPath\");return i.setAttribute(\"id\",t),i};e.dom.elGridRectMask=s(\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectBarMask=s(\"gridRectBarMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=s(\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=s(\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=s(\"nonForecastMask\".concat(e.cuid));var r=0,o=0;([\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),o=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(0,0,e.gridWidth,e.gridHeight,0,\"#fff\"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+o+r+4,e.gridHeight+a+4,0,\"#fff\");var n=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-n,-n,e.gridWidth+2*n,e.gridHeight+2*n,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector(\"defs\");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,o,n,l){for(var h=0,c=0;h=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:o,x2:n,y2:l,type:t}),o+=r.globals.gridHeight/e}(\"row\",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var o=r.globals.isBarHorizontal||\"on\"!==r.config.xaxis.tickPlacement||\"category\"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(o=r.globals.xAxisScale.result.length-1);for(var n=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/o,h=r.globals.gridHeight,c=0,d=0;c=r.config.grid.column.colors.length&&(d=0),\"datetime\"===r.config.xaxis.type)n=this.xaxisLabels[c].position,l=((null===(g=this.xaxisLabels[c+1])||void 0===g?void 0:g.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:n,y1:0,x2:l,y2:h,type:\"column\"}),n+=r.globals.gridWidth/o}}}}]),t}(),$=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new A(this.ctx)}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),m.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g=\"dataPoints\"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!m.isNumber(t)&&!m.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=m.isNumber(i.min)?i.min:0,e=m.isNumber(i.max)?i.max:t+g,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var f=[];g<1&&(g=1);var p=g,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/p,v=b,y=Math.floor(Math.log10(v)),w=Math.pow(10,y),k=Math.ceil(v/w);if(b=v=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var S=x/p;if(d)if(c)if(0!=m.mod(x,b)){var C=m.getGCD(b,S);b=S/C<10?C:S}else 0==m.mod(b,S)?b=S:(S=b,d=!1);else b=S;else if(c)0==m.mod(x,b)?S=b:b=S;else if(0==m.mod(x,b))S=b;else{S=x/(p=Math.ceil(x/b));var L=m.getGCD(x,b);x/La&&(t=e-b*g,t+=b*Math.floor((P-t)/b))}else if(s)if(d)e=t+b*p;else{var M=e;e=b*Math.ceil(e/b),Math.abs(e-t)/m.getGCD(x,b)>a&&(e=t+b*g,e+=b*Math.ceil((M-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*p;T0&&t16&&m.getPrimeFactors(p).length<2&&p++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&p>x&&(p=x,b=Math.round(x/p)),p>a&&(!d&&!c||i.forceNiceScale)){var z=m.getPrimeFactors(p),X=z.length-1,E=p;t:for(var Y=0;YW);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),o=[];if(t===e)return{result:o=[t],niceMin:o[0],niceMax:o[o.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var n=t;i>=0;)o.push(n),n=m.preciseAddition(n,s),i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&m.isNumber(i)&&e!==Number.MAX_VALUE&&m.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&m.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"scaleMultipleYAxes\",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,o){var n=[];a.forEach((function(t){var i=e.series[t].group;n.indexOf(i)<0&&n.push(i)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,g=c,u=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],f=[];n.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),f.push(t.map((function(){return Number.MIN_VALUE})))}));for(var p=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(o),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,n.forEach((function(t,a){if(e.series[c].group===t)for(var o=0;o=0?r[a][o]+=n:f[a][o]+=n,s[a][o]+=n,g=Math.min(g,n),u=Math.max(u,n)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var g,u=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=u&&u.enabled&&null!=u&&u.autoScaleYaxis)&&(d=!0)}for(var f=t;fx&&r.seriesX[f][b]>s.xaxis.max;b--);}for(var v=x;v<=b&&vh[f][v]&&h[f][v]<0&&(n=h[f][v])}else r.hasNullValues=!0}\"bar\"!==p&&\"column\"!==p||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],o=t.minX-1;o0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=f(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),Q=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=\"bottom\"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new M(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this.w,i=new k(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,o=a.fontWeight,n=i.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\".concat(e.globals.translateYAxisX[t],\", 0)\")});if(this.axesUtils.isYAxisHidden(t))return n;var l=i.group({class:\"apexcharts-yaxis-texts-g\"});n.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],g=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var u=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?u=0:\"heatmap\"===e.config.chart.type&&(u-=c/2),u+=parseInt(s,10)/3;for(var f=h;f>=0;f--){var p=d(g[f],f,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),v=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(v)?v[f]:v,w=m.listToArray(e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),A=i.drawText({x:x,y:u,text:w.includes(p)&&!e.config.yaxis[t].labels.showDuplicates?\"\":p,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:o,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \".concat(a.cssClass)});l.add(A),this.addTooltip(A,p),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,A,firstLabel,e.config.yaxis[t].labels.rotate),u+=c}}return this.addYAxisTitle(i,n,t),this.addAxisBorder(i,n,t,h,c),n}},{key:\"getTextAnchor\",value:function(t,e){return\"left\"===t?\"start\":\"center\"===t?\"middle\":\"right\"===t?\"end\":e?\"start\":\"end\"}},{key:\"addTooltip\",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,\"title\");i.textContent=Array.isArray(e)?e.join(\" \"):e,t.node.appendChild(i)}},{key:\"rotateLabel\",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute(\"transform\",\"rotate(\".concat(a,\" \").concat(s.x,\" \").concat(r.y,\")\"))}},{key:\"addYAxisTitle\",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:\"apexcharts-yaxis-title\"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,o=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:\"end\",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \".concat(a.config.yaxis[i].title.style.cssClass)});s.add(o),e.add(s)}}},{key:\"addAxisBorder\",value:function(t,e,i,a,s){var r=this.w,o=r.config.yaxis[i].axisBorder,n=31+o.offsetX;if(r.config.yaxis[i].opposite&&(n=-31-o.offsetX),o.show){var l=t.drawLine(n,r.globals.translateY+o.offsetY-2,n,r.globals.gridHeight+r.globals.translateY+o.offsetY+2,o.color,0,o.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(n,a,o,r.config.yaxis[i].axisTicks,i,s,e)}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new k(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d=0;c.length?d++:d--){var g=l(h[d],d,e),u=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,u,d,this.drawnLabels,this.xaxisFontSize);u=f.x,g=f.text,this.drawnLabels.push(f.text),0===d&&e.globals.skipFirstTimelinelabel&&(g=\"\"),d===h.length-1&&e.globals.skipLastTimelinelabel&&(g=\"\")}var p=i.drawText({x:u,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:g,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \".concat(e.config.xaxis.labels.style.cssClass)});s.add(p),p.tspan(g),this.addTooltip(p,g),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new k(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new k(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new k(this.ctx),s=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\")),r=s?s.getBoundingClientRect():{width:0,height:0},o=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\")),n=o?o.getBoundingClientRect():{width:0,height:0};if(o){var l=this.xPaddingForYAxisTitle(t,r,n,e);o.setAttribute(\"x\",l.xPos-(e?10:0));var h=a.rotateAroundCenter(o);o.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+o/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-o)),{xPos:r,padd:o})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(n,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o+=c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w;m.listToArray(t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=m.listToArray(t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"))),o=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute(\"text-anchor\",a.labels.align)})),\"left\"!==a.labels.align||a.opposite?\"center\"===a.labels.align?s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\")):\"right\"===a.labels.align&&a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")):s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))}}))}}]),t}(),K=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=m.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=m.extend(z,i);this.w.globals.locale=a.options}}]),t}(),et=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new q(this.ctx,e),l=new Q(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),it=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new k(this.ctx),i=new w(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,p=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var v=e.drawRect();1===t.config.xaxis.crosshairs.width&&(v=e.drawLine());var y=t.globals.gridHeight;(!m.isNumber(y)||y<0)&&(y=0);var A=t.config.xaxis.crosshairs.width;(!m.isNumber(A)||A<0)&&(A=0),v.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:y,width:A,height:y,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(v=i.dropShadow(v,{left:g,top:u,blur:f,color:p,opacity:x})),t.globals.dom.elGraphical.add(v)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new k(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),at=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new D({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=m.clone(i.globals.initialConfig);n.series=m.clone(i.config.series);var l=A.extendArrayProps(r,n,i);t=m.extend(l,t),t=m.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return\"function\"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:\"applySeriesColors\",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:\"getMonochromeColors\",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,o=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,n=1/(o/s),l=0;return Array.from({length:o},(function(){var t=\"dark\"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=n,t}))}},{key:\"applyColorTypes\",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:\"applyDataLabelsColors\",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:\"applyRadarPolygonsColors\",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?[\"dark\"===t.config.theme.mode?\"#424242\":\"none\"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:\"applyMarkersColors\",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:\"pushExtraColors\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,o){var n;n=e.globals.series[r][o],a=e.config.dataLabels.formatter(n,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:o,w:e}),i.push(a)}))}));var a=m.getLargestStringFromArr(i),s=new k(this.dCtx.ctx),r=e.config.dataLabels.style,o=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*o.width,height:o.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,p(a));i=e[a.indexOf(s)]}return i}}]),t}(),nt=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=m.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new P(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new L(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new L(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new k(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=m.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new k(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new k(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new k(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=m.getLargestStringFromArr(f),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var p=new k(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=p.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),v=b;g!==u&&(v=p.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>v.width||h>b.width?h:v.width>b.width?v.width:b.width)+a,height:v.height>b.height?v.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new k(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new M(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ht=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return[\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t)},r=i.chart.type,o=0,n=s(r)?i.series.length:1;a.comboBarCount>0&&(n=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(n-=1)})),i.chart.stacked&&(n=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&n>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(o=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(o=1),a.barPadForNumericAxis=o}return o}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new M(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ct=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ot(this),this.dimYAxis=new lt(this),this.dimXAxis=new nt(this),this.dimGrid=new ht(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,p(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=f(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new Q(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var n=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(n,e.gridHeight),e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),dt=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-flip-y {\\n transform: scaleY(-1) translateY(-100%);\\n transform-origin: top;\\n transform-box: fill-box;\\n }\\n .apexcharts-flip-x {\\n transform: scaleX(-1);\\n transform-origin: center;\\n transform-box: fill-box;\\n }\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new k(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=m.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],o={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(o),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(o),a.collapsedSeriesIndices.push(e);var n=a.risingSeries.indexOf(e);a.risingSeries.splice(n,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,o=0;o0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,o=r;Array.isArray(r)&&(o=r[e]);var n=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(n+c)+\"px\",d.width=2*(n+c)+\"px\",d.left=l+\"px\",d.top=h+\"px\",a.config.legend.markers.customHTML)d.background=\"transparent\",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var u=new W(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(o),seriesIndex:e,strokeWidth:c,size:n}),f=SVG(s).size(\"100%\",\"100%\"),p=new k(this.ctx).drawMarker(0,0,g(g({},u),{},{pointFillColor:Array.isArray(i)?i[e]:u.pointFillColor,shape:o}));SVG.select(\".apexcharts-legend-marker.apexcharts-marker\").members.forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),f.add(p)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u0)for(var f=0;f0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new ct(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords(\"title\"),a=e.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),s=0;\"top\"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new V(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new V(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ut=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,o,n=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+n*c;r=d-(s=.5*c)/2,o=d+s/2}else r=l-(s=1.5*c)/2,o=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),o=Math.min(o,i.globals.initialMaxX);var g=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(o-r0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),k.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),k.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=m.clone(a.globals.initialConfig.yaxis),f=m.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var p=o.getBeforeZoomRange(f,u);p&&(f=p.xaxis?p.xaxis:f,u=p.yaxis?p.yaxis:u)}var x={xaxis:f};a.config.chart.group||(x.yaxis=u),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var b,v=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(v=m.clone(a.config.yaxis)).forEach((function(t,e){v[e].min=g[e],v[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:v})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=m.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(ut),pt=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/h),p=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/h),f-=1);var x=null,b=null,v=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return m.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return m.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);x=(b=this.closestInMultiArray(k,A,v,y)).index,f=b.j,null!==x&&(v=r.globals.seriesXvalues[x],f=(b=this.closestInArray(k,v)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=p:r.globals.capturedDataPointIndex=f,{capturedSeries:x,j:r.globals.isBarHorizontal?p:f,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=p(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new k(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==f&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==f?f:\"\");if(o&&p[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?p[0].parentNode.style.display=\"none\":p[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(p[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new _(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:\"\":void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new P(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new L(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),bt=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&k.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&k.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new k(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var u=g.getAttribute(\"shape\"),f=l.getMarkerPath(s,r,u,1.5*c);g.setAttribute(\"d\",f)}this.moveXCrosshairs(s),n.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray,n=new V(this.ctx),l=new k(this.ctx);e=n.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,u,p,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new V(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));o||\"number\"!=typeof e||(o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var n=o?parseFloat(o.getAttribute(\"cx\")):0,l=o?parseFloat(o.getAttribute(\"cy\")):0,h=o?parseFloat(o.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains(\"apexcharts-candlestick-area\")||o.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),vt=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new bt(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new k(this.ctx),i=new W(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=p(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),mt=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var f=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-f.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-f.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=m.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var u=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[u]&&r.config.yaxis[u].reversed:r.config.yaxis[0].reversed,h+o.tooltipRect.ttWidth>r.globals.gridWidth?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var f=o.getElGrid().getBoundingClientRect();c=o.e.clientY-f.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains(\"apexcharts-bar-area\")||g.contains(\"apexcharts-candlestick-area\")||g.contains(\"apexcharts-boxPlot-area\")||g.contains(\"apexcharts-rangebar-area\")){var u=i.target,f=u.getBoundingClientRect(),p=a.elGrid.getBoundingClientRect(),x=f.height;d=f.height;var b=f.width,v=parseInt(u.getAttribute(\"cx\"),10),m=parseInt(u.getAttribute(\"cy\"),10);c=parseFloat(u.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute(\"j\"),10),n=parseInt(u.parentNode.getAttribute(\"rel\"),10)-1;var w=u.getAttribute(\"data-range-y1\"),k=u.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-p.left+15,h=S()):(l=A(),h=i.clientY-p.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,o=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&o.length>0){var n=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=o[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],g=r.maxYArr[h]-r.minYArr[h],u=r.minYArr[h]+(g-d);s.config.yaxis[t].reversed&&(u=r.maxYArr[h]-(g-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=n(u),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),wt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new pt(this),this.tooltipLabels=new xt(this),this.tooltipPosition=new bt(this),this.marker=new vt(this),this.intersect=new mt(this),this.axesTooltip=new yt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new q(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip(e);if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new V(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var u=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var f=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&f.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),u&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new k(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(i),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var F=new k(this.ctx),D=S.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var H=0;H0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=h*A)),w){g=g+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,L=n;switch(this.barCtx.isReversed&&(L=n+(C?c:-c)),p.position){case\"center\":u=w?C?L-c/2+m:L+c/2-m:C?L-c/2+d.height/2+m:L+c/2+d.height/2-m;break;case\"bottom\":u=w?C?L-c+m:L+c-m:C?L-c+d.height+b+m:L+c-d.height/2+b-m;break;case\"top\":u=w?C?L+m:L-m:C?L-d.height/2-m:L+d.height+m}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var P=new k(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),f.fontSize);r=C?L-P.height/2-m-x.offsetY+18:L+P.height+m+x.offsetY-18;var M=S;o=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(u<0?u=0+b:u+d.height/3>e.globals.gridHeight&&(u=e.globals.gridHeight-b)),{bcx:l,bcy:n,dataLabelsX:g,dataLabelsY:u,totalDataLabelsX:o,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,p=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,m,y=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,w=\"start\",A=e.globals.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+(A?-l:l),w=A?\"start\":\"end\"),u.position){case\"center\":c=A?S+l/2-p:Math.max(h.width/2,S-l/2)+p;break;case\"bottom\":c=A?S+l-d-p:S-l+d+p;break;case\"top\":c=A?S-d-p:S-d+p}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var C=new k(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d-p-f.offsetX,w=\"end\"):v=S+p+f.offsetX+(this.barCtx.isReversed?-(l+d):d),m=y-h.height/2+C.height/2+f.offsetY+d}return e.config.chart.stacked||(\"start\"===g.textAnchor?c-h.width<0?c=A?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=A?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===g.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===g.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:v,totalDataLabelsY:m,totalDataLabelsAnchor:w}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,o=t.textRects,n=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(d=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var u=new G(this.barCtx.ctx),f=new k(this.barCtx.ctx),p=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=f.group({class:\"apexcharts-data-labels\",transform:d});var v=\"\";void 0!==a&&(v=p(a,g(g({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v=\"\");var m=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=m?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=m?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(v=\"\"):o.height/1.6>Math.abs(n)&&(v=\"\"));var w=g({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?w.textAnchor=\"end\":\"end\"===h.textAnchor&&(w.textAnchor=\"start\")),u.plotDataLabelsText({x:e,y:i,text:v,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,o=t.barTotalDataLabelsConfig;this.w;var n,l=new k(this.barCtx.ctx);return o.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(n=l.drawText({x:e,y:i,foreColor:o.style.color,text:a,textAnchor:r,fontFamily:o.style.fontFamily,fontSize:o.style.fontSize,fontWeight:o.style.fontWeight})),n}}]),t}(),At=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l,h=this.w,c=this.barCtx.ctx.fill,d=null,g=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(d=a.color)}));return null!==(s=h.config.series[e].data[i])&&void 0!==s&&s.fillColor&&(d=h.config.series[e].data[i].fillColor),c.fillPath({seriesNumber:this.barCtx.barOptions.distributed?g:a,dataPointIndex:i,color:d,value:t[e][i],fillConfig:null===(r=h.config.series[e].data[i])||void 0===r?void 0:r.fill,fillType:null!==(o=h.config.series[e].data[i])&&void 0!==o&&null!==(n=o.fill)&&void 0!==n&&n.type?null===(l=h.config.series[e].data[i])||void 0===l?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[a]:h.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"createBorderRadiusArr\",value:function(t){var e=this.w,i=!this.w.config.chart.stacked||\"last\"!==e.config.plotOptions.bar.borderRadiusWhenStacked||e.config.plotOptions.bar.borderRadius<=0,a=t.length,s=t[0].length,o=Array.from({length:a},(function(){return Array(s).fill(i?\"top\":\"none\")}));if(i)return o;for(var n=0;n0?(l.push(d),c++):g<0&&(h.push(d),c++)}if(l.length>0&&0===h.length)if(1===l.length)o[l[0]][n]=\"both\";else{var u,f=l[0],p=l[l.length-1],x=r(l);try{for(x.s();!(u=x.n()).done;){var b=u.value;o[b][n]=b===f?\"bottom\":b===p?\"top\":\"none\"}}catch(t){x.e(t)}finally{x.f()}}else if(h.length>0&&0===l.length)if(1===h.length)o[h[0]][n]=\"both\";else{var v,m=h[0],y=h[h.length-1],w=r(h);try{for(w.s();!(v=w.n()).done;){var k=v.value;o[k][n]=k===m?\"bottom\":k===y?\"top\":\"none\"}}catch(t){w.e(t)}finally{w.f()}}else if(l.length>0&&h.length>0){var A,S=l[l.length-1],C=r(l);try{for(C.s();!(A=C.n()).done;){var L=A.value;o[L][n]=L===S?\"top\":\"none\"}}catch(t){C.e(t)}finally{C.f()}var P,M=h[h.length-1],I=r(h);try{for(I.s();!(P=I.n()).done;){var T=P.value;o[T][n]=T===M?\"bottom\":\"none\"}}catch(t){I.e(t)}finally{I.f()}}else if(1===c){o[l[0]||h[0]][n]=\"both\"}}return o}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new k(this.barCtx.ctx),c=new V(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,g=t.j,u=t.w,f=new k(this.barCtx.ctx);(o=Array.isArray(o)?o[c]:o)||(o=0);var p=i,x=a;null!==(e=u.config.series[c].data[g])&&void 0!==e&&e.columnWidthOffset&&(x=a-u.config.series[c].data[g].columnWidthOffset/2,p=i+u.config.series[c].data[g].columnWidthOffset);var b=o/2,v=x+b,m=x+p-b,y=(l[d][g]>=0?1:-1)*(n?-1:1);s+=.001-b*y,r+=.001+b*y;var w=f.move(v,s),A=f.move(v,s),S=f.line(m,s);if(u.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(c,g,!1)),w=w+f.line(v,r)+f.line(m,r)+S+(\"around\"===u.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][g]?\" Z\":\" z\"),A=A+f.line(v,s)+S+S+S+S+S+f.line(v,s)+(\"around\"===u.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][g]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][g]&&(w=f.roundPathCorners(w,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+o*y)),C.yArrjVal.push(this.barCtx.series[d][g])}return{pathTo:w,pathFrom:A}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,g=t.j,u=t.w,f=new k(this.barCtx.ctx);(o=Array.isArray(o)?o[c]:o)||(o=0);var p=i,x=a;null!==(e=u.config.series[c].data[g])&&void 0!==e&&e.barHeightOffset&&(p=i-u.config.series[c].data[g].barHeightOffset/2,x=a+u.config.series[c].data[g].barHeightOffset);var b=o/2,v=p+b,m=p+x-b,y=(l[d][g]>=0?1:-1)*(n?-1:1);s+=.001+b*y,r+=.001-b*y;var w=f.move(s,v),A=f.move(s,v);u.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(c,g,!1));var S=f.line(s,m);if(w=w+f.line(r,v)+f.line(r,m)+S+(\"around\"===u.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][g]?\" Z\":\" z\"),A=A+f.line(s,v)+S+S+S+S+S+f.line(s,v)+(\"around\"===u.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][g]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][g]&&(w=f.roundPathCorners(w,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-o*y)),C.xArrjVal.push(this.barCtx.series[d][g])}return{pathTo:w,pathFrom:A}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var o=this,l=this.w,h=[],c=function(a,s){var l;h.push((n(l={},t,\"x\"===t?o.getXForValue(a,e,!1):o.getYForValue(a,i,r,!1)),n(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],u),c(l.globals.seriesRangeEnd[a][s],g(g({},u),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new k(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=n.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=n.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new k(this.barCtx.ctx),u=new m,f=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[realIndex][j]?\" Z\":\" z\");return g.drawPath({d:f,fill:u.shadeColor(.5,m.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadows\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,o=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),St=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new V(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var o=r.getBarSeriesIndices(),n=new A(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new At(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new k(this.ctx),s=new A(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var o=0,n=0;o0&&(this.visibleI=this.visibleI+1);var w=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var L=this.barHelpers.initialPositions();f=L.y,w=L.barHeight,h=L.yDivision,d=L.zeroW,u=L.x,S=L.barWidth,l=L.xDivision,c=L.zeroH,this.horizontal||x.push(u+S/2);var P=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:P.node}),P.node.classList.add(\"apexcharts-element-hidden\");var M=a.group({class:\"apexcharts-bar-goals-markers\"}),I=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:I.node}),I.node.classList.add(\"apexcharts-element-hidden\");for(var T=0;T0){var R=this.barHelpers.drawBarShadow({color:\"string\"==typeof Y&&-1===(null==Y?void 0:Y.indexOf(\"url\"))?Y:m.hexToRgba(i.globals.colors[o]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:X});R&&I.add(R)}this.pathArr.push(X);var F=this.barHelpers.drawGoalLine({barXPosition:X.barXPosition,barYPosition:X.barYPosition,goalX:X.goalX,goalY:X.goalY,barHeight:w,barWidth:S});F&&M.add(F),f=X.y,u=X.x,T>0&&x.push(u+S/2),p.push(f),this.renderSeries({realIndex:b,pathFill:Y,j:T,i:o,columnGroupIndex:v,pathFrom:X.pathFrom,pathTo:X.pathTo,strokeWidth:z,elSeries:y,x:u,y:f,series:t,barHeight:Math.abs(X.barHeight?X.barHeight:w),barWidth:Math.abs(X.barWidth?X.barWidth:S),elDataLabelsWrap:P,elGoalsMarkers:M,elBarShadows:I,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=p,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.columnGroupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,f=t.y2,p=t.series,x=t.barHeight,b=t.barWidth,v=t.barXPosition,m=t.barYPosition,y=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=t.classes,M=this.w,I=new k(this.ctx);if(!a){var T=\"function\"==typeof M.globals.stroke.colors[e]?function(t){var e,i=M.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:M.globals.series[t][s],dataPointIndex:s,w:M}):e}(e):M.globals.stroke.colors[e];a=this.barOptions.distributed?M.globals.stroke.colors[s]:T}M.config.series[r].data[s]&&M.config.series[r].data[s].strokeColor&&(a=M.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var z=s/M.config.chart.animations.animateGradually.delay*(M.config.chart.animations.speed/M.globals.dataPoints)/2.4,X=I.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:M.config.stroke.lineCap,fill:i,animationDelay:z,initialSpeed:M.config.chart.animations.speed,dataChangeSpeed:M.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(L,\"-area \").concat(P),chartType:L});X.attr(\"clip-path\",\"url(#gridRectBarMask\".concat(M.globals.cuid,\")\"));var E=M.config.forecastDataPoints;E.count>0&&s>=M.globals.dataPoints-E.count&&(X.node.setAttribute(\"stroke-dasharray\",E.dashArray),X.node.setAttribute(\"stroke-width\",E.strokeWidth),X.node.setAttribute(\"fill-opacity\",E.fillOpacity)),void 0!==u&&void 0!==f&&(X.attr(\"data-range-y1\",u),X.attr(\"data-range-y2\",f)),new w(this.ctx).setSelectionFilter(X,e,s),c.add(X);var Y=new kt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:f,i:r,j:s,series:p,realIndex:e,columnGroupIndex:o,barHeight:x,barWidth:b,barXPosition:v,barYPosition:m,renderedPath:X,visibleSeries:C});return null!==Y.dataLabels&&y.add(Y.dataLabels),Y.totalDataLabels&&y.add(Y.totalDataLabels),c.add(y),A&&c.add(A),S&&c.add(S),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,f=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*f}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var p=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,g),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.translationsIndex,u=i.i,f=i.j,p=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:f,realIndex:d,barWidth:o});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:u,j:f}),v=b.nonZeroColumns,m=b.zeroEncounters;v>0&&(o=this.seriesLen*o/v),e=a+o*this.visibleI,e-=o*m}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[u][f],n,g);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:u,j:f,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:f,i:u,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,n,u,f,g),barXPosition:e,barWidth:o}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Ct=function(t){h(a,t);var e=o(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new k(this.ctx),this.bar=new St(this.ctx,this.xyRatios);var s=new A(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),o=0,n=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,u=void 0,f=a.globals.comboCharts?e[s]:s,p=i.barHelpers.getGroupIndex(f),x=p.groupIndex,b=p.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var v=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],w=f),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:m.escapeString(a.globals.seriesNames[f]),rel:s+1,\"data:realIndex\":f});i.ctx.series.addCollapsedClassToSeries(k,f);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":f}),S=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),C=0,L=0,P=i.initialPositions(o,n,h,c,d,u,w);n=P.y,C=P.barHeight,c=P.yDivision,u=P.zeroW,o=P.x,L=P.barWidth,h=P.xDivision,d=P.zeroH,a.globals.barHeight=C,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var M=0;M0&&(Y=\"apexcharts-flip-x\"):\"bottom\"===i.barHelpers.arrBorderRadius[f][M]&&a.globals.series[f][M]>0&&(Y=\"apexcharts-flip-y\"),k=i.renderSeries({realIndex:f,pathFill:E,j:M,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:o,y:n,series:t,barHeight:C,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:S,type:\"bar\",visibleSeries:b,classes:Y})}a.globals.seriesXvalues[f]=v,a.globals.seriesYvalues[f]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[o]:h.globals.gridHeight-this.baseLineY[o],t=h.globals.padHorizontal+(i-l)/2}var g=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:n/g,barWidth:l/g,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+l*a,f=i.i,p=i.j,x=i.realIndex,b=i.translationsIndex,v=0,m=0;m0){var w=r;this.groupCtx.prevXVal[y-1][p]<0?w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]+v-2*(this.isReversed?v:0):this.groupCtx.prevX[y-1][p]:this.groupCtx.prevXVal[y-1][p]>=0&&(w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]:this.groupCtx.prevX[y-1][p]-v+2*(this.isReversed?v:0)),e=w}else e=r;o=null===this.series[f][p]?e:e+this.series[f][p]/this.invertedYRatio-2*(this.isReversed?this.series[f][p]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:f,j:p,w:g});return this.barHelpers.barBackground({j:p,i:f,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,f,p,b),barXPosition:e,barYPosition:u,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc,f=e.realIndex,p=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[f][g];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,v=i+n*r,m=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[f-1][g]===c.globals.seriesX[f][g]){var k,A,S,C=Math.min(this.yRatio.length+1,f+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?S-m+2*(this.isReversed?m:0):S;break}if((null===(T=this.groupCtx.prevYVal[w-M])||void 0===T?void 0:T[g])>=0){A=this.series[d][g]>=0?S:S+m-2*(this.isReversed?m:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:A}else b=o;a=this.series[d][g]?b-this.series[d][g]/this.yRatio[p]+2*(this.isReversed?this.series[d][g]/this.yRatio[p]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:v,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[p],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:v,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:v,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(St),Lt=function(t){h(a,t);var e=o(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new k(this.ctx),o=s.globals.comboCharts?e:s.config.chart.type,n=new N(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new A(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var o,l,c,d,u=void 0,f=void 0,p=[],x=[],b=s.globals.comboCharts?i[e]:e,v=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:m.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var S=a.barHelpers.initialPositions();f=S.y,w=S.barHeight,l=S.yDivision,d=S.zeroW,u=S.x,k=S.barWidth,o=S.xDivision,c=S.zeroH,x.push(u+k/2);for(var C=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,m={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:u,y:f,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(g(g({},m),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(g(g({},m),{},{xDivision:o,barWidth:k,zeroH:c})),f=h.y,u=h.x,i>0&&x.push(u+k/2),p.push(f),h.pathTo.forEach((function(o,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=n.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:o,strokeWidth:r,elSeries:y,x:u,y:f,series:t,columnGroupIndex:v,barHeight:w,barWidth:k,elDataLabelsWrap:C,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;Pb.c&&(d=!1);var y=Math.min(b.o,b.c),w=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(y=r,w=r):(y=r-y/p,w=r-w/p,v=r-b.h/p,m=r-b.l/p,A=r-b.m/p);var C=l.move(S,r),L=l.move(S+s/2,y);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,y)+l.line(S+s/2,y)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,y)+l.line(S+s,y)+l.line(S+s,A)+l.line(S,A)+l.line(S,y+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,m)+l.line(S+s-s/4,m)+l.line(S+s/4,m)+l.line(S+s/2,m)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,A)+\"z\"]:[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,y)+l.line(S+s/2,y)+l.line(S+s/2,m)+l.line(S+s/2,y)+l.line(S,y)+l.line(S,w-o/2)],L+=l.move(S,y),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:w,barXPosition:S,color:this.isBoxPlot?f:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new k(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,f=this.getOHLCValue(u,c),p=r,x=r,b=Math.min(f.o,f.c),v=Math.max(f.o,f.c),m=f.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,p=r+f.h/g,x=r+f.l/g,m=r+f.m/g);var w=l.move(r,y),A=l.move(b,y+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(p,y+s/2)+l.line(p,y+s/2-s/4)+l.line(p,y+s/2+s/4)+l.line(p,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(m,y+s)+l.line(m,y)+l.line(b+o/2,y),l.move(m,y)+l.line(m,y+s)+l.line(v,y+s)+l.line(v,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(v,y+s/2)+l.line(v,y)+l.line(m,y)+\"z\"],A+=l.move(b,y),n.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:A,x:v,y:i,barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),a}(St),Pt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new m;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,n.color);l=m.hexToRgba(m.isColorHex(c)?c:m.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,n.color);l=m.hexToRgba(m.isColorHex(d)?d:m.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,p(a.globals.series[e])),c=Math.max.apply(Math,p(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new k(this.ctx),c=new G(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,f=i+g,p=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:f,y:p,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new k(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Mt=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new Pt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new k(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:m.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new w(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=v.x,S=v.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),p=m.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=m.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),b=s>180?1:0,v=[\"M\",d,g,\"A\",r,r,0,b,1,u,f];return e=\"donut\"===i.chartType?[].concat(v,[\"L\",p.x,p.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,g,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(v,[\"L\",i.centerX,i.centerY,\"L\",d,g]).join(\" \"):[].concat(v).join(\" \"),o.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new $(this.ctx),a=new k(this.ctx),s=new It(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):\"\",null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new k(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n0&&(p=e.getPreviousPath(o));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var f=h.dropShadow;s.dropShadow(u,f)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new k(this.ctx),a=new N(this.ctx),s=new w(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;if(this.radialDataLabels.show){var f=e.globals.dom.Paper.select(\".apexcharts-datalabels-group\").members[0];u=this.renderInnerDataLabels(f,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var x=p?t.series.length-1:0;p?x>=0:x100?100:t.series[x])/100,C=Math.round(this.totalAngle*S)+this.startAngle,L=void 0;e.globals.dataChanged&&(A=this.startAngle,L=Math.round(this.totalAngle*m.negToZero(e.globals.previousPaths[x])/100)+A),Math.abs(C)+Math.abs(y)>360&&(C-=.01),Math.abs(L)+Math.abs(A)>360&&(L-=.01);var P=C-y,M=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,I=i.drawPath({d:\"\",stroke:v,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:M});if(k.setAttrs(I.node,{\"data:angle\":P,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,x)}if(s.setSelectionFilter(I,0,x),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:x}),this.barLabels.enabled){var z=m.polarToCartesian(t.centerX,t.centerY,t.size,y),X=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),E=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||E.push(\"apexcharts-no-click\");var Y=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;Y||(Y=e.config.chart.foreColor);var R=z.x+this.barLabels.offsetX,F=z.y+this.barLabels.offsetY,D=i.drawText({x:R,y:F,text:X,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:Y,cssClass:E.join(\" \")});D.on(\"click\",this.onBarLabelClick),D.attr({rel:x+1}),0!==y&&D.attr({\"transform-origin\":\"\".concat(R,\" \").concat(F),transform:\"rotate(\".concat(y,\" 0 0)\")}),b.add(D)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:C,startAngle:y,prevEndAngle:L,prevStartAngle:A,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new k(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new N(this.ctx),o=m.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Tt),Et=function(t){h(a,t);var e=o(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new k(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,v=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[u][0],v=u);var y=this.barHelpers.initialPositions();d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,o=y.xDivision,n=y.yDivision,l=y.zeroH;for(var w=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),A=a.group({class:\"apexcharts-rangebar-goals-markers\"}),S=0;S0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(f))+h*b)):(b>-1&&!g.globals.timescaleLabels.length&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(f))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,g=this.yRatio[d],u=this.getRangeValue(c,h),f=Math.min(u.start,u.end),p=Math.max(u.start,u.end);void 0===this.series[l][h]||null===this.series[l][h]?f=o:(f=o-f/g,p=o-p/g);var x=Math.abs(p-f),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:f,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:n});if(n.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=v.x,r=v.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:u.start<0&&u.end<0?f:p,goalY:this.barHelpers.getGoalValues(\"y\",null,o,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,g=this.preventBarOverflow(l+a/this.invertedYRatio),u=this.preventBarOverflow(l+s/this.invertedYRatio),f=this.getRangeValue(c,d),p=Math.abs(u-g),x=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:g,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:p,x:f.start<0&&f.end<0?g:u,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(St),Yt=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new A(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(m.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(m.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(m.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,o=t.series,n=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=o[s])||void 0===a?void 0:a[0]))n=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-o[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?o[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===o[s][0])for(var g=s-1;g>=0;g--)if(null!==o[g][0]&&void 0!==o[g][0]){n=l=this.lineCtx.prevSeriesY[g][0];break}return{prevY:n,lineYPosition:l}}}]),t}(),Rt=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Ht(i,a),r=1,o=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Ft=function(t){var e=Rt(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Ht(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ot=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new B(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Yt(this),this.markers=new W(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,o=new k(this.ctx),n=r.globals.comboCharts?e:r.config.chart.type,l=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),h=new A(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d1?u:0;this._initSerieVariables(t,d,u);var p=[],x=[],b=[],v=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(v=(r.globals.seriesX[u][0]-r.globals.minX)/this.xRatio),b.push(v);var m,y=v,w=void 0,S=y,C=this.zeroY,L=this.zeroY;C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:u,series:t,prevY:C,lineYPosition:0,translationsIndex:f}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[d][0]?p.push(null):p.push(C),m=C;\"rangeArea\"===n&&(w=L=this.lineHelpers.determineFirstPrevY({i:d,realIndex:u,series:a,prevY:L,lineYPosition:0,translationsIndex:f}).prevY,x.push(null!==p[0]?L:null));var P=this._calculatePathsFrom({type:n,series:t,i:d,realIndex:u,translationsIndex:f,prevX:S,prevY:C,prevY2:L}),M=[p[0]],I=[x[0]],T={type:n,series:t,realIndex:u,translationsIndex:f,i:d,x:v,y:1,pX:y,pY:m,pathsFrom:P,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:p,y2Arrj:x,seriesRangeEnd:a},z=this._iterateOverDataPoints(g(g({},T),{},{iterations:\"rangeArea\"===n?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===n){for(var X=this._calculatePathsFrom({series:a,i:d,realIndex:u,prevX:S,prevY:L}),E=this._iterateOverDataPoints(g(g({},T),{},{series:a,xArrj:[v],yArrj:M,y2Arrj:I,pY:w,areaPaths:z.areaPaths,pathsFrom:X,iterations:a[d].length-1,isRangeStart:!1})),Y=z.linePaths.length/2,R=0;R=0;F--)l.add(c[F]);else for(var D=0;D1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:m.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":o,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,g=t.prevY2,u=this.w,f=new k(this.ctx);if(null===o[n][0]){for(var p=0;p0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,o=new k(this.ctx),n=new N(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=o.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=o.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var u={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var f=n.fillPath({seriesNumber:i}),p=0;p0&&\"rangeArea\"!==e){var S=o.renderPaths(w);S.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&S.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,o=t.iterations,n=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,g=t.pX,u=t.pY,f=t.pathsFrom,p=t.linePaths,x=t.areaPaths,b=t.seriesIndex,v=t.lineYPosition,y=t.xArrj,w=t.yArrj,A=t.y2Arrj,S=t.isRangeStart,C=t.seriesRangeEnd,L=this.w,P=new k(this.ctx),M=this.yRatio,I=f.prevY,T=f.linePath,z=f.areaPath,X=f.pathFromLine,E=f.pathFromArea,Y=m.isNumber(L.globals.minYArr[n])?L.globals.minYArr[n]:L.globals.minY;o||(o=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var R=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},F=d,D=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[n])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[n])||void 0===i?void 0:i.type)),H=L.config.stroke.curve;Array.isArray(H)&&(H=Array.isArray(b)?H[b[h]]:H[h]);for(var O,N=0,W=0;W0&&L.globals.collapsedSeries.length0;e--){if(!(L.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][W+1]}else v=this.zeroY;else v=this.zeroY;B?d=R(Y,v):(d=R(r[h][W+1],v),\"rangeArea\"===s&&(F=R(C[h][W+1],v))),y.push(c),!B||\"smooth\"!==L.config.stroke.curve&&\"monotoneCubic\"!==L.config.stroke.curve?(w.push(d),A.push(F)):(w.push(null),A.push(null));var V=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:n,i:h,j:W,prevY:I}),j=this._createPaths({type:s,series:r,i:h,realIndex:n,j:W,x:c,y:d,y2:F,xArrj:y,yArrj:w,y2Arrj:A,pX:g,pY:u,pathState:N,segmentStartX:O,linePath:T,areaPath:z,linePaths:p,areaPaths:x,curve:H,isRangeStart:S});x=j.areaPaths,p=j.linePaths,g=j.pX,u=j.pY,N=j.pathState,O=j.segmentStartX,z=j.areaPath,T=j.linePath,!this.appendPathFrom||\"monotoneCubic\"===H&&\"rangeArea\"===s||(X+=P.line(c,this.zeroY),E+=P.line(c,this.zeroY)),this.handleNullDataPoints(r,V,h,W,n),this._handleMarkersAndLabels({type:s,pointsPos:V,i:h,j:W,realIndex:n,isRangeStart:S})}return{yArrj:w,xArrj:y,pathFromArea:E,areaPaths:x,pathFromLine:X,linePaths:p,linePath:T,areaPath:z}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new G(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,o=t.x,n=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,g=t.pX,u=t.pY,f=t.pathState,p=t.segmentStartX,x=t.linePath,b=t.areaPath,v=t.linePaths,m=t.areaPaths,y=t.curve,w=t.isRangeStart,A=new k(this.ctx),S=this.areaBottomY,C=\"rangeArea\"===e,L=\"rangeArea\"===e&&w;switch(y){case\"monotoneCubic\":var P=w?h:d;switch(f){case 0:if(null===P[r+1])break;f=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),I=w?P:P.slice().reverse(),T=(s=I,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),z=T.length>1?Ft(T):T,X=[];C&&(L?m=T:X=m.reverse());var E=0,Y=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=Y,a=(Y+=t.length)-1;L?x=A.move(T[i][0],T[i][1])+e:C?x=A.move(X[i][0],X[i][1])+A.line(T[i][0],T[i][1])+e+A.line(X[a][0],X[a][1]):(x=A.move(T[i][0],T[i][1])+e,b=x+A.line(T[a][0],S)+A.line(T[i][0],S)+\"z\",m.push(b)),v.push(x)})),C&&E>1&&!L){var R=v.slice(E).reverse();v.splice(E),R.forEach((function(t){return v.push(t)}))}f=0}break;case\"smooth\":var F=.35*(o-g);if(null===i[a][r])f=0;else switch(f){case 0:if(p=g,x=L?A.move(g,d[r])+A.line(g,u):A.move(g,u),b=A.move(g,u),null===i[a][r+1]){v.push(x),m.push(b);break}if(f=1,r=i[a].length-2&&(L&&(x+=A.curve(o,n,o,n,o,c)+A.move(o,c)),b+=A.curve(o,n,o,n,o,S)+A.line(p,S)+\"z\",v.push(x),m.push(b),f=-1)}}g=o,u=n;break;default:var O=function(t,e,i){var a=[];switch(t){case\"stepline\":a=A.line(e,null,\"H\")+A.line(null,i,\"V\");break;case\"linestep\":a=A.line(null,i,\"V\")+A.line(e,null,\"H\");break;case\"straight\":a=A.line(e,i)}return a};if(null===i[a][r])f=0;else switch(f){case 0:if(p=g,x=L?A.move(g,d[r])+A.line(g,u):A.move(g,u),b=A.move(g,u),null===i[a][r+1]){v.push(x),m.push(b);break}if(f=1,r=i[a].length-2&&(L&&(x+=A.line(o,c)),b+=A.line(o,S)+A.line(p,S)+\"z\",v.push(x),m.push(b),f=-1)}}g=o,u=n}return{linePaths:v,areaPaths:m,pX:g,pY:u,pathState:f,segmentStartX:p,linePath:x,areaPath:b}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.strokeWidth-r.config.markers.strokeWidth/2;o>0||(o=0);var n=this.markers.plotChartMarkers(e,s,a+1,o,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var o=new k(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Gt=86400,Vt=10/Gt,jt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new L(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var o=s.getTimeUnitsfromTimestamp(t,e,this.utc),n=a.globals.gridWidth/r,l=n/24,h=l/60,c=h/60,d=Math.floor(24*r),u=Math.floor(1440*r),f=Math.floor(r*Gt),p=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),v={minMillisecond:o.minMillisecond,minSecond:o.minSecond,minMinute:o.minMinute,minHour:o.minHour,minDate:o.minDate,minMonth:o.minMonth,minYear:o.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:n,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:f,numberOfMinutes:u,numberOfHours:d,numberOfDays:p,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?g(g({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?g(g({},e),{},{value:t.value}):\"minute\"===t.unit?g(g({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?g(g({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var o=!1,n=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ct(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new L(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:m.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:m.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=m.monthMod(a+1);var g=s+d,u=m.monthMod(n),f=n;0===n&&(c=\"year\",f=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:m.monthMod(a)});for(var p=n+1,x=l,b=0,v=1;bo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=m.monthMod(e.minMonth),n=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:m.monthMod(u),day:h});for(var f=d,p=0;pn.determineDaysOfMonths(e+1,s)&&(p=1,e+=1),{month:e,date:p}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,f=u;60===d&&(g=0,f=u=e.minHour);var p=i;f>=24&&(f=0,p+=1,l=\"day\");var x=h(p,a).month;x=c(p,x),this.timeScaleArray.push({position:g,value:u,unit:l,day:p,hour:f,year:s,month:m.monthMod(x)}),f++;for(var b=g,v=0;v=24)f=0,l=\"day\",x=h(p+=1,x).month,x=c(p,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===f?p:f;this.timeScaleArray.push({position:b,value:w,unit:l,hour:f,day:p,year:y,month:m.monthMod(x)}),f++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,f=n,p=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(p+=1)&&(p=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:p,minute:d,day:g,year:this._getYear(f,u,0),month:m.monthMod(u)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,f=n,p=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++p&&(p=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:p,minute:d,second:c,day:g,year:this._getYear(f,u,0),month:m.monthMod(u)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new L(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new k(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),_t=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].includes(a),e.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].includes(a),e.isBarHorizontal=[\"bar\",\"rangeBar\",\"boxPlot\"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=\".apexcharts\".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement(\"div\"),k.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:\"apexcharts-canvas \".concat(e.chartClass.substring(1))}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=new window.SVG.Doc(e.dom.elWrap),e.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(i.chart.offsetX,\", \").concat(i.chart.offsetY,\")\")}),e.dom.Paper.node.style.background=\"dark\"!==i.theme.mode||i.chart.background?\"light\"!==i.theme.mode||i.chart.background?i.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,\"foreignObject\"),k.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement(\"div\"),e.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),e.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,o={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},n=s.chart.type||\"line\",l=null,h=0;r.series.forEach((function(e,a){var s=t[a].type||n;o[s]?(\"rangeArea\"===s?(o[s].series.push(r.seriesRangeStart[a]),o[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):o[s].series.push(e),o[s].i.push(a),\"column\"!==s&&\"bar\"!==s||(i.globals.columnSeries=o.column)):[\"heatmap\",\"treemap\",\"pie\",\"donut\",\"polarArea\",\"radialBar\",\"radar\"].includes(s)?l=s:\"bar\"===s?(o.column.series.push(e),o.column.i.push(a)):console.warn(\"You have specified an unrecognized series type (\".concat(s,\").\")),n!==s&&\"scatter\"!==s&&h++})),h>0&&(l&&console.warn(\"Chart or series type \".concat(l,\" cannot appear with other chart or series types.\")),o.column.series.length>0&&s.plotOptions.bar.horizontal&&(h-=o.column.series.length,o.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ot(a,e),d=new Lt(a,e);a.pie=new Tt(a);var g=new Xt(a);a.rangeBar=new Et(a,e);var u=new zt(a),f=[];if(r.comboCharts){var x,b,v=new A(a);if(o.area.series.length>0)(x=f).push.apply(x,p(v.drawSeriesByGroup(o.area,r.areaGroups,\"area\",c)));if(o.column.series.length>0)if(s.chart.stacked){var m=new Ct(a,e);f.push(m.draw(o.column.series,o.column.i))}else a.bar=new St(a,e),f.push(a.bar.draw(o.column.series,o.column.i));if(o.rangeArea.series.length>0&&f.push(c.draw(o.rangeArea.series,\"rangeArea\",o.rangeArea.i,o.rangeArea.seriesRangeEnd)),o.line.series.length>0)(b=f).push.apply(b,p(v.drawSeriesByGroup(o.line,r.lineGroups,\"line\",c)));if(o.candlestick.series.length>0&&f.push(d.draw(o.candlestick.series,\"candlestick\",o.candlestick.i)),o.boxPlot.series.length>0&&f.push(d.draw(o.boxPlot.series,\"boxPlot\",o.boxPlot.i)),o.rangeBar.series.length>0&&f.push(a.rangeBar.draw(o.rangeBar.series,o.rangeBar.i)),o.scatter.series.length>0){var y=new Ot(a,e,!0);f.push(y.draw(o.scatter.series,\"scatter\",o.scatter.i))}if(o.bubble.series.length>0){var w=new Ot(a,e,!0);f.push(w.draw(o.bubble.series,\"bubble\",o.bubble.i))}}else switch(s.chart.type){case\"line\":f=c.draw(r.series,\"line\");break;case\"area\":f=c.draw(r.series,\"area\");break;case\"bar\":if(s.chart.stacked)f=new Ct(a,e).draw(r.series);else a.bar=new St(a,e),f=a.bar.draw(r.series);break;case\"candlestick\":f=new Lt(a,e).draw(r.series,\"candlestick\");break;case\"boxPlot\":f=new Lt(a,e).draw(r.series,s.chart.type);break;case\"rangeBar\":f=a.rangeBar.draw(r.series);break;case\"rangeArea\":f=c.draw(r.seriesRangeStart,\"rangeArea\",void 0,r.seriesRangeEnd);break;case\"heatmap\":f=new Mt(a,e).draw(r.series);break;case\"treemap\":f=new Bt(a,e).draw(r.series);break;case\"pie\":case\"donut\":case\"polarArea\":f=a.pie.draw(r.series);break;case\"radialBar\":f=g.draw(r.series);break;case\"radar\":f=u.draw(r.series);break;default:f=c.draw(r.series)}return f}},{key:\"setSVGDimensions\",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||\"100%\",i.chart.height=i.chart.height||\"auto\",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=m.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===s?m.isNumber(a[0])&&(0===a[0].width&&(a=m.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):\"px\"!==s&&\"\"!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==e.svgHeight&&\"\"!==e.svgHeight)if(\"%\"===r){var o=m.getDimensions(this.el.parentNode);e.svgHeight=o[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),k.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),\"%\"!==r){var n=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(e.svgHeight+n,\"px\")}e.dom.elWrap.style.width=\"\".concat(e.svgWidth,\"px\"),e.dom.elWrap.style.height=\"\".concat(e.svgHeight,\"px\")}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;k.setAttrs(t.dom.elGraphical.node,{transform:\"translate(\".concat(i,\", \").concat(e,\")\")})}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,[\"top\",\"bottom\"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new gt(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=m.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).includes(\"%\")||(e.dom.elWrap.style.height=\"\".concat(l,\"px\"),k.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(l,\"px\"))}},{key:\"coreCalculations\",value:function(){new J(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new H,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:\"xySettings\",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if(\"back\"===t.config.xaxis.crosshairs.position&&new it(this.ctx).drawXCrosshairs(),\"back\"===t.config.yaxis[0].crosshairs.position&&new it(this.ctx).drawYCrosshairs(),\"datetime\"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new jt(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new A(this.ctx).getCalculatedRatios()}return e}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){return t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){return t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Ut=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(o){var n=[e.ctx];s&&(n=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(n=[e.ctx],e.ctx.w.globals.isExecCalled=!1),n.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===b(t)&&(s.config=new D(t),t=A.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=m.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?m.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?m.clone(t.yaxis):[],h.globals.initialConfig=m.extend({},h.config),h.globals.initialSeries=m.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=m.clone(o.config.series),o.globals.initialSeries=m.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return g(g({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new k(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new F(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Nt=\"undefined\"!=typeof window?window:void 0,Wt=function(t,e){var i=(void 0!==this?this:t).SVG=function(t){if(i.supported)return t=new i.Doc(t),i.parser.draw||i.prepare(),t};if(i.ns=\"http://www.w3.org/2000/svg\",i.xmlns=\"http://www.w3.org/2000/xmlns/\",i.xlink=\"http://www.w3.org/1999/xlink\",i.svgjs=\"http://svgjs.dev\",i.supported=!0,!i.supported)return!1;i.did=1e3,i.eid=function(t){return\"Svgjs\"+c(t)+i.did++},i.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},i.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var a=t.length-1;a>=0;a--)if(t[a])for(var s in e)t[a].prototype[s]=e[s];i.Set&&i.Set.inherit&&i.Set.inherit()},i.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,i.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&i.extend(e,t.extend),t.construct&&i.extend(t.parent||i.Container,t.construct),e},i.adopt=function(e){return e?e.instance?e.instance:((a=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new i.Nested:new i.Doc:\"linearGradient\"==e.nodeName?new i.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new i.Gradient(\"radial\"):i[c(e.nodeName)]?new(i[c(e.nodeName)]):new i.Element(e)).type=e.nodeName,a.node=e,e.instance=a,a instanceof i.Doc&&a.namespace().defs(),a.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),a):null;var a},i.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],a=(t?new i.Doc(t):i.adopt(e.documentElement).nested()).size(2,0);i.parser={body:t||e.documentElement,draw:a.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:a.polyline().node,path:a.path().node,native:i.create(\"svg\")}},i.parser={native:i.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){i.parser.draw||i.prepare()}),!1),i.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},i.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new i.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),i.Color.test=function(t){return t+=\"\",i.regex.isHex.test(t)||i.regex.isRgb.test(t)},i.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},i.Color.isColor=function(t){return i.Color.isRgb(t)||i.Color.test(t)},i.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},i.extend(i.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),i.PointArray=function(t,e){i.Array.call(this,t,e||[[0,0]])},i.PointArray.prototype=new i.Array,i.PointArray.prototype.constructor=i.PointArray;for(var a={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},s=\"mlhvqtcsaz\".split(\"\"),r=0,o=s.length;rh);return r},bbox:function(){return i.parser.draw||i.prepare(),i.parser.path.setAttribute(\"d\",this.toString()),i.parser.path.getBBox()}}),i.Number=i.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(i.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof i.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new i.Number(t),new i.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new i.Number(t),new i.Number(this-t,this.unit||t.unit)},times:function(t){return t=new i.Number(t),new i.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new i.Number(t),new i.Number(this/t,this.unit||t.unit)},to:function(t){var e=new i.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new i.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new i.Number(this.destination).minus(this).times(t).plus(this):this}}}),i.Element=i.invent({create:function(t){this._stroke=i.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var a=g(this,t,e);return this.width(new i.Number(a.width)).height(new i.Number(a.height))},clone:function(t){this.writeDataToDom();var e=p(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(i.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return i.get(this.attr(t))},parent:function(e){var a=this;if(!a.node.parentNode)return null;if(a=i.adopt(a.node.parentNode),!e)return a;for(;a&&a.node instanceof t.SVGElement;){if(\"string\"==typeof e?a.matches(e):a instanceof e)return a;if(!a.node.parentNode||\"#document\"==a.node.parentNode.nodeName)return null;a=i.adopt(a.node.parentNode)}},doc:function(){return this instanceof i.Doc?this:this.parent(i.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var a=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");if(!(t&&this instanceof i.Parent))return a.appendChild(t=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),a.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");a.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=a.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},i.morph=function(t){return function(e,a){return new i.MorphObj(e,a).at(t)}},i.Situation=i.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new i.Number(t.duration).valueOf(),this.delay=new i.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),i.FX=i.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,a){\"object\"===b(t)&&(e=t.ease,a=t.delay,t=t.duration);var s=new i.Situation({duration:t||1e3,delay:a||0,ease:i.easing[e||\"-\"]||e});return this.queue(s),this},target:function(t){return t&&t instanceof i.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof i.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof i.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var a in e.animations){t=this.target()[a](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[a])||(e.animations[a]=[e.animations[a]]);for(var s=t.length;s--;)e.animations[a][s]instanceof i.Number&&(t[s]=new i.Number(t[s])),e.animations[a][s]=t[s].morph(e.animations[a][s])}for(var a in e.attrs)e.attrs[a]=new i.MorphObj(this.target().attr(a),e.attrs[a]);for(var a in e.styles)e.styles[a]=new i.MorphObj(this.target().style(a),e.styles[a]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),a=function(a){a.detail.situation==e&&t.call(this,a.detail.pos,i.morph(a.detail.pos),a.detail.eased,e)};return this.target().off(\"during.fx\",a).on(\"during.fx\",a),this.after((function(){this.off(\"during.fx\",a)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,a=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a[r].apply(a,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.attr.apply(a,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.style.apply(a,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--a)this[v[a]]=null!=t[v[a]]?t[v[a]]:e[v[a]]},extend:{extract:function(){var t=u(this,0,1);u(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new i.Matrix(this)}},clone:function(){return new i.Matrix(this)},morph:function(t){return this.destination=new i.Matrix(t),this},multiply:function(t){return new i.Matrix(this.native().multiply(function(t){return t instanceof i.Matrix||(t=new i.Matrix(t)),t}(t).native()))},inverse:function(){return new i.Matrix(this.native().inverse())},translate:function(t,e){return new i.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=i.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return\"matrix(\"+x(this.a)+\",\"+x(this.b)+\",\"+x(this.c)+\",\"+x(this.d)+\",\"+x(this.e)+\",\"+x(this.f)+\")\"}},parent:i.Element,construct:{ctm:function(){return new i.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof i.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new i.Matrix(e)}return new i.Matrix(this.node.getScreenCTM())}}}),i.Point=i.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===b(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new i.Point(this)},morph:function(t,e){return this.destination=new i.Point(t,e),this}}}),i.extend(i.Element,{point:function(t,e){return new i.Point(t,e).transform(this.screenCTM().inverse())}}),i.extend(i.Element,{attr:function(t,e,a){if(null==t){for(t={},a=(e=this.node.attributes).length-1;a>=0;a--)t[e[a].nodeName]=i.regex.isNumber.test(e[a].nodeValue)?parseFloat(e[a].nodeValue):e[a].nodeValue;return t}if(\"object\"===b(t))for(var s in t)this.attr(s,t[s]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?i.defaults.attrs[t]:i.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(i.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof i.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new i.Number(e):i.Color.isColor(e)?e=new i.Color(e):Array.isArray(e)&&(e=new i.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof a?this.node.setAttributeNS(a,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),i.extend(i.Element,{transform:function(t,e){var a;return\"object\"!==b(t)?(a=new i.Matrix(this).extract(),\"string\"==typeof t?a[t]:a):(a=new i.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(a=e?a.multiply(new i.Matrix(t)):new i.Matrix(t)),this.attr(\"transform\",a))}}),i.extend(i.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(i.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(i.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new i.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),i.Transformation=i.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,a=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return i.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var a=this.children(),s=0,r=a.length;s=0;a--)e.childNodes[a]instanceof t.SVGElement&&p(e.childNodes[a]);return i.adopt(e).id(i.eid(e.nodeName))}function x(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||i.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var a=n[t].length-1;a>=0;a--)null!=e[n[t][a]]&&this.attr(n.prefix(t,n[t][a]),e[n[t][a]]);return this},i.extend(i.Element,i.FX,e)})),i.extend(i.Element,i.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new i.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new i.Number(t).plus(this instanceof i.FX?0:this.x()),!0)},dy:function(t){return this.y(new i.Number(t).plus(this instanceof i.FX?0:this.y()),!0)}}),i.extend(i.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),i.Set=i.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new i.Set(t)}}}),i.FX.Set=i.invent({create:function(t){this.set=t}}),i.Set.inherit=function(){var t=[];for(var e in i.Shape.prototype)\"function\"==typeof i.Shape.prototype[e]&&\"function\"!=typeof i.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){i.Set.prototype[t]=function(){for(var e=0,a=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),i.get=function(t){var a=e.getElementById(function(t){var e=(t||\"\").toString().match(i.regex.reference);if(e)return e[1]}(t)||t);return i.adopt(a)},i.select=function(t,a){return new i.Set(i.utils.map((a||e).querySelectorAll(t),(function(t){return i.adopt(t)})))},i.extend(i.Parent,{select:function(t){return i.select(t,this.node)}});var v=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,i.CustomEvent=m}else i.CustomEvent=t.CustomEvent;return i},\"function\"==typeof define&&define.amd?define((function(){return Wt(Nt,Nt.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":b(exports))&&\"undefined\"!=typeof module?module.exports=Nt.document?Wt(Nt,Nt.document):function(t){return Wt(t,t.document)}:Nt.SVG=Wt(Nt,Nt.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n * https://github.com/wout/svg.filter.js\n * Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),R=R.transform(s),F=F.transform(s),r=[F.x-R.x,F.y-R.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((F.x+R.x)/2+l*-r[1],(F.y+R.y)/2+l*r[0]),c=new SVG.Point(R.x-h.x,R.y-h.y),d=new SVG.Point(F.x-h.x,F.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var qt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"isSeriesHidden\",\"highlightSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new y(this.ctx),this.ctx.axes=new et(this.ctx),this.ctx.core=new _t(this.ctx.el,this.ctx),this.ctx.config=new D({}),this.ctx.data=new _(this.ctx),this.ctx.grid=new Z(this.ctx),this.ctx.graphics=new k(this.ctx),this.ctx.coreUtils=new A(this.ctx),this.ctx.crosshairs=new it(this.ctx),this.ctx.events=new K(this.ctx),this.ctx.exports=new U(this.ctx),this.ctx.fill=new N(this.ctx),this.ctx.localization=new tt(this.ctx),this.ctx.options=new X,this.ctx.responsive=new at(this.ctx),this.ctx.series=new V(this.ctx),this.ctx.theme=new st(this.ctx),this.ctx.formatters=new P(this.ctx),this.ctx.titleSubtitle=new rt(this.ctx),this.ctx.legend=new gt(this.ctx),this.ctx.toolbar=new ut(this.ctx),this.ctx.tooltip=new wt(this.ctx),this.ctx.dimensions=new ct(this.ctx),this.ctx.updateHelpers=new Ut(this.ctx),this.ctx.zoomPanSelection=new ft(this.ctx),this.ctx.w.globals.tooltip=new wt(this.ctx)}}]),t}(),Zt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectBarMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),$t=new WeakMap;var Jt=function(){function t(e,a){i(this,t),this.opts=a,this.ctx=this,this.w=new O(a).init(),this.el=e,this.w.globals.cuid=m.randomId(),this.w.globals.chartID=this.w.config.chart.id?m.escapeString(this.w.config.chart.id):this.w.globals.cuid,new qt(this).initModules(),this.create=m.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return s(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),$t.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=m.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=r?s.getElementById(\"apexcharts-css\"):o.getElementById(\"apexcharts-css\");if(!n){var l;(n=document.createElement(\"style\")).id=\"apexcharts-css\",n.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n\\n 0%,\\n to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n direction: ltr !important;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, .5);\\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\nrect.legend-mouseover-inactive,\\n.legend-mouseover-inactive rect,\\n.legend-mouseover-inactive path,\\n.legend-mouseover-inactive circle,\\n.legend-mouseover-inactive line,\\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255, 255, 255, .96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30, 30, 30, .8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0, 0, 0, .7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,\\n.apexcharts-tooltip-text-goals-value:empty,\\n.apexcharts-tooltip-text-y-label:empty,\\n.apexcharts-tooltip-text-y-value:empty,\\n.apexcharts-tooltip-text-z-value:empty,\\n.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),\\n.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,\\n.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,\\n.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,\\n.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,\\n.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,\\n.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}\\n';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&n.setAttribute(\"nonce\",h),r?s.prepend(n):o.head.appendChild(n)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new qt(this).initModules();var s=this.w.globals;(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new F(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(null===this.el)return s.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var o=A.checkComboSeries(r,a.config.chart.type);s.comboCharts=o.comboCharts,s.comboBarCount=o.comboBarCount;var n=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||n&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new W(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new A(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new G(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Z(i);var o,n,l=i.grid.drawGrid();(i.annotations=new E(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=$t.get(t))&&(e.disconnect(),$t.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===m.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Zt(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new J(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new J(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new U(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new U(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=m.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;o{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>O,mixins:()=>_});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId=\"data-v-\"+s),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const h={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},d={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+\"px\",left:c+a+\"px\",top:u+r+s+\"px\"}),document.body.appendChild(e)}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&\"function\"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const g=function(){return++y};function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function v(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return\"object\"===s()(this.optionList[0])?a()({},this.label,e):e}},resetOnOptionsChange:{default:!1,validator:function(e){return[\"function\",\"boolean\"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},uid:{type:[String,Number],default:function(){return g()}}},data:function(){return{search:\"\",open:!1,isComposing:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&\"\"!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,\"aria-autocomplete\":\"list\",\"aria-labelledby\":\"vs\".concat(this.uid,\"__combobox\"),\"aria-controls\":\"vs\".concat(this.uid,\"__listbox\"),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},h,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--multiple\":this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return e;var t=this.search.length?this.filter(e,this.search,this):e;if(this.taggable&&this.search.length){var n=this.createOption(this.search);this.optionExists(n)||t.unshift(n)}return t},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?\"open\":\"close\")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit(\"option:selecting\",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit(\"option:created\",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit(\"option:selected\",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit(\"option:deselecting\",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit(\"option:deselected\",e)},clearSelection:function(){this.updateValue(this.multiple?[]:null)},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=\"\"),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit(\"input\",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},normalizeOptionForSlot:function(e){return\"object\"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search=\"\":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onSearchKeyDown:function(e){var t=this,n=function(e){return e.preventDefault(),!t.isComposing&&t.typeAheadSelect()},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-select\",class:e.stateClasses,attrs:{dir:e.dir}},[e._t(\"header\",null,null,e.scope.header),e._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\",attrs:{id:\"vs\"+e.uid+\"__combobox\",role:\"combobox\",\"aria-expanded\":e.dropdownOpen.toString(),\"aria-owns\":\"vs\"+e.uid+\"__listbox\",\"aria-label\":\"Search for option\"},on:{mousedown:function(t){return e.toggleDropdown(t)}}},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\"},[e._l(e.selectedValue,(function(t){return e._t(\"selected-option-container\",[n(\"span\",{key:e.getOptionKey(t),staticClass:\"vs__selected\"},[e._t(\"selected-option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t)),e._v(\" \"),e.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:e.disabled,type:\"button\",title:\"Deselect \"+e.getOptionLabel(t),\"aria-label\":\"Deselect \"+e.getOptionLabel(t)},on:{click:function(n){return e.deselect(t)}}},[n(e.childComponents.Deselect,{tag:\"component\"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(\" \"),e._t(\"search\",[n(\"input\",e._g(e._b({staticClass:\"vs__search\"},\"input\",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:e.disabled,type:\"button\",title:\"Clear Selected\",\"aria-label\":\"Clear Selected\"},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:\"component\"})],1),e._v(\" \"),e._t(\"open-indicator\",[e.noDrop?e._e():n(e.childComponents.OpenIndicator,e._b({tag:\"component\"},\"component\",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator),e._v(\" \"),e._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[e._v(\"Loading...\")])],null,e.scope.spinner)],2)]),e._v(\" \"),n(\"transition\",{attrs:{name:e.transition}},[e.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],key:\"vs\"+e.uid+\"__listbox\",ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs\"+e.uid+\"__listbox\",role:\"listbox\",tabindex:\"-1\"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t(\"list-header\",null,null,e.scope.listHeader),e._v(\" \"),e._l(e.filteredOptions,(function(t,o){return n(\"li\",{key:e.getOptionKey(t),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--deselect\":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,\"vs__dropdown-option--selected\":e.isOptionSelected(t),\"vs__dropdown-option--highlight\":o===e.typeAheadPointer,\"vs__dropdown-option--disabled\":!e.selectable(t)},attrs:{id:\"vs\"+e.uid+\"__option-\"+o,role:\"option\",\"aria-selected\":o===e.typeAheadPointer||null},on:{mouseover:function(n){e.selectable(t)&&(e.typeAheadPointer=o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t(\"option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t))],2)})),e._v(\" \"),0===e.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[e._t(\"no-options\",[e._v(\"\\n Sorry, no matching options.\\n \")],null,e.scope.noOptions)],2):e._e(),e._v(\" \"),e._t(\"list-footer\",null,null,e.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs\"+e.uid+\"__listbox\",role:\"listbox\"}})]),e._v(\" \"),e._t(\"footer\",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,_={ajax:u,pointer:c,pointerScroll:l},O=m})(),o})()}));\n//# sourceMappingURL=vue-select.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-alpine.css';\nimport Vue from 'vue';\n\nimport { AgGridVue } from 'ag-grid-vue';\nVue.component('ag-grid-vue', AgGridVue);\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminDashboard.vue?vue&type=style&index=0&id=f13d0e8e&prod&scoped=true&lang=css\"","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar getIteratorFlattenable = require('../internals/get-iterator-flattenable');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar iteratorClose = require('../internals/iterator-close');\nvar IS_PURE = require('../internals/is-pure');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var mapper = this.mapper;\n var result, inner;\n\n while (true) {\n if (inner = this.inner) try {\n result = anObject(call(inner.next, inner.iterator));\n if (!result.done) return result.value;\n this.inner = null;\n } catch (error) { iteratorClose(iterator, 'throw', error); }\n\n result = anObject(call(this.next, iterator));\n\n if (this.done = !!result.done) return;\n\n try {\n this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false);\n } catch (error) { iteratorClose(iterator, 'throw', error); }\n }\n});\n\n// `Iterator.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap\n$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, {\n flatMap: function flatMap(mapper) {\n anObject(this);\n aCallable(mapper);\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper,\n inner: null\n });\n }\n});\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","'use strict';\n// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectNetwork.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectNetwork.vue?vue&type=script&lang=js\"","
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n\n\n","import { render, staticRenderFns } from \"./SelectNetwork.vue?vue&type=template&id=37d74aaa\"\nimport script from \"./SelectNetwork.vue?vue&type=script&lang=js\"\nexport * from \"./SelectNetwork.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.SelectSearchType')))]),_c('v-select',{attrs:{\"id\":\"network_search_option\",\"data-test\":\"network_search_option\",\"options\":_vm.network_search_options,\"label\":\"title\",\"value\":\"id\"},on:{\"input\":function($event){return _vm.$emit('search-option-selected', _vm.network_search_option)}},model:{value:(_vm.network_search_option),callback:function ($$v) {_vm.network_search_option=$$v},expression:\"network_search_option\"}})],1)],1),(_vm.network_search_option.id == 2)?_c('div',{},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectNetwork')))]),_c('v-select',{attrs:{\"id\":\"selected_networks\",\"data-test\":\"selected_networks\",\"options\":_vm.managed_networks,\"label\":\"name\",\"placeholder\":_vm.$t('network.networkForm.selectNetwork'),\"multiple\":\"\"},on:{\"input\":function($event){return _vm.$emit('network-selected', _vm.selected_networks)}},model:{value:(_vm.selected_networks),callback:function ($$v) {_vm.selected_networks=$$v},expression:\"selected_networks\"}})],1)],1):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nexport default Vue.extend({\n data: function () {\n return {};\n },\n methods: {\n btnClickedHandler(params) {\n this.params.clicked(params.data);\n },\n },\n template: `\n View\n `,\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsers.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./IndustryUsers.vue?vue&type=template&id=f23ff0e4\"\nimport script from \"./IndustryUsers.vue?vue&type=script&lang=js\"\nexport * from \"./IndustryUsers.vue?vue&type=script&lang=js\"\nimport style0 from \"./IndustryUsers.vue?vue&type=style&index=0&id=f23ff0e4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-overlay',{attrs:{\"show\":_vm.busy,\"rounded\":\"sm\"}},[_c('ag-grid-vue',{staticClass:\"ag-theme-alpine text-center\",staticStyle:{\"width\":\"100%\",\"height\":\"500px\",\"font-family\":\"'Nunito', sans-serif\"},attrs:{\"rowSelection\":\"single\",\"gridOptions\":_vm.gridOptions,\"frameworkComponents\":_vm.frameworkComponents,\"columnDefs\":_vm.columnDefs,\"pagination\":true,\"paginationPageSize\":\"30\",\"rowData\":_vm.sortedArray(_vm.industryUsers).reverse()},on:{\"grid-ready\":_vm.onGridReady}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nexport default Vue.extend({\n data: function () {\n return {};\n },\n computed: {\n show() {\n return this.params.data.approved == null || this.params.data.approved == false;\n },\n },\n beforeMount() {},\n methods: {\n btnClickedHandler(params) {\n this.params.clicked(params.data);\n },\n },\n template: `\n {{ $t('ModerationTab.approve') }}\n Approved\n `,\n});\n","import Vue from 'vue';\nexport default Vue.extend({\n data: function () {\n return {};\n },\n computed: {\n show() {\n return this.params.data.approved == null || this.params.data.approved == true;\n },\n },\n beforeMount() {},\n methods: {\n btnClickedHandler(params) {\n this.params.clicked(params.data);\n },\n },\n template: `\n {{ $t('ModerationTab.reject') }}\n Rejected\n `,\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersRequests.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersRequests.vue?vue&type=script&lang=js\"","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersDashboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersDashboard.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./IndustryUsersRequests.vue?vue&type=template&id=d21012e8\"\nimport script from \"./IndustryUsersRequests.vue?vue&type=script&lang=js\"\nexport * from \"./IndustryUsersRequests.vue?vue&type=script&lang=js\"\nimport style0 from \"./IndustryUsersRequests.vue?vue&type=style&index=0&id=d21012e8&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-overlay',{attrs:{\"show\":_vm.busy,\"rounded\":\"sm\"}},[_c('ag-grid-vue',{staticClass:\"ag-theme-alpine text-center\",staticStyle:{\"width\":\"100%\",\"height\":\"500px\",\"font-family\":\"'Nunito', sans-serif\"},attrs:{\"rowSelection\":\"single\",\"gridOptions\":_vm.gridOptions,\"frameworkComponents\":_vm.frameworkComponents,\"columnDefs\":_vm.columnDefs,\"pagination\":true,\"paginationPageSize\":\"30\",\"rowData\":_vm.sortedArray(_vm.industryUsersRequests).reverse()},on:{\"grid-ready\":_vm.onGridReady}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./IndustryUsersDashboard.vue?vue&type=template&id=09805299&scoped=true\"\nimport script from \"./IndustryUsersDashboard.vue?vue&type=script&lang=js\"\nexport * from \"./IndustryUsersDashboard.vue?vue&type=script&lang=js\"\nimport style0 from \"./IndustryUsersDashboard.vue?vue&type=style&index=0&id=09805299&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09805299\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'requests' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'requests'}}},[_vm._v(\" Requests \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'users' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'users'}}},[_vm._v(\" Users \")])]),_c('div',{staticClass:\"col-8\"}),_c('hr',{staticStyle:{\"opacity\":\"0.5\",\"height\":\"3px\"}})]),_c('div',{staticClass:\"row\"},[(_vm.currentView == 'requests')?_c('div',{staticClass:\"px-0\"},[_c('IndustryUsersRequests',{attrs:{\"industryUsersRequests\":_vm.industryUsersRequests}})],1):_vm._e(),(_vm.currentView == 'users')?_c('div',{staticClass:\"px-0\"},[_c('IndustryUsers',{attrs:{\"industryUsers\":_vm.industryUsers},on:{\"show-industry-user-details\":_vm.showIndustryUsersDetailsView}})],1):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersDetails.vue?vue&type=script&lang=js\"","\n","import { render, staticRenderFns } from \"./IndustryUsersDetails.vue?vue&type=template&id=64e474dc\"\nimport script from \"./IndustryUsersDetails.vue?vue&type=script&lang=js\"\nexport * from \"./IndustryUsersDetails.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-8 p-0\"},[_c('nav',{attrs:{\"aria-label\":\"breadcrumb\"}},[_c('ol',{staticClass:\"py-1 my-2 breadcrumb align-middle\"},[_c('li',{staticClass:\"breadcrumb-item\"},[_c('a',{staticClass:\"text-secondary fw-bold pointer\",on:{\"click\":_vm.closeIndustryUserDetails}},[_vm._v(\" Manage industry user \")])]),_c('li',{staticClass:\"breadcrumb-item\"},[_c('a',{staticClass:\"text-primary fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.user.fullname)+\" \")])])])])]),_c('div',{staticClass:\"col-4 text-end\"})]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('v-select',{attrs:{\"options\":_vm.user.networks,\"label\":\"name\",\"placeholder\":\"Select a network to view user activity\",\"clearable\":false},on:{\"input\":_vm.onNetworkSelected}})],1),_c('div',{staticClass:\"col-md-6\"}),(_vm.selectedNetworkUser)?_c('div',{staticClass:\"col-md-12 mt-3 d-flex justify-content-between bg-secondary rounded py-2 px-3 m-2\"},[_c('div',[_c('span',[_vm._v(\"Member since: \"+_vm._s(_vm.utcToLocal(_vm.selectedNetworkUser.created_at).format('MMM D, YYYY')))]),_vm._v(\"  |  \"),_c('span',[_c('span',[_vm._v(\"Role: \"+_vm._s(_vm.selectedNetworkUser.role_name)+\" \")]),(_vm.selectedNetworkUser.is_contributor)?_c('span',[_vm._v(\"• contributor\")]):_vm._e(),(_vm.selectedNetworkUser.is_moderator)?_c('span',[_vm._v(\"• moderator\")]):_vm._e()])]),(_vm.selectedNetworkUser.membership_expires_at)?_c('span',[(_vm.isMembershipActive)?_c('span',[_vm._v(\" Membership ends in \"+_vm._s(_vm.daysUntilExpiration(_vm.utcToLocal(_vm.selectedNetworkUser.membership_expires_at)))+\" \")]):_c('span',[_vm._v(\" Membership expired \"+_vm._s(_vm.daysUntilExpiration(_vm.utcToLocal(_vm.selectedNetworkUser.membership_expires_at)))+\" \")])]):_vm._e()]):_vm._e(),(_vm.selectedNetworkUser)?_c('div',{staticClass:\"mt-3 bg-secondary rounded py-2 px-3 m-2\"},[_c('span',[_vm._v(\"During the membership tenure, \"+_vm._s(_vm.user.fullname)+\" has:\")]),_c('hr',{staticStyle:{\"opacity\":\"1\"}}),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Accessed \"+_vm._s(_vm.networkUserStats.accessed_media.length)+\" media items\")]),(_vm.networkUserStats.accessed_media.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('accessed_media')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Uploaded \"+_vm._s(_vm.networkUserStats.uploaded_media.length)+\" media items\")]),(_vm.networkUserStats.uploaded_media.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('uploaded_media')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Uploaded \"+_vm._s(_vm.networkUserStats.uploaded_collections.length)+\" collections\")]),(_vm.networkUserStats.uploaded_collections.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('uploaded_collections')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Liked \"+_vm._s(_vm.networkUserStats.liked_media.length)+\" media items\")]),(_vm.networkUserStats.liked_media.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('liked_media')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Liked \"+_vm._s(_vm.networkUserStats.liked_collections.length)+\" collections\")]),(_vm.networkUserStats.liked_collections.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('liked_collections')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Downloaded \"+_vm._s(_vm.networkUserStats.downloaded_media.length)+\" media items\")]),(_vm.networkUserStats.downloaded_media.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('downloaded_media')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Downloaded \"+_vm._s(_vm.networkUserStats.downloaded_collections.length)+\" collections\")]),(_vm.networkUserStats.downloaded_collections.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('downloaded_collections')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Attended \"+_vm._s(_vm.networkUserStats.attended_meetings.length)+\" meetings\")]),(_vm.networkUserStats.attended_meetings.length)?_c('h6',{staticClass:\"text-primary fw-bold pointer\",on:{\"click\":function($event){return _vm.showModal('attended_meetings')}}},[_vm._v(_vm._s(_vm.$t('network.view')))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h6',[_vm._v(\"Sent \"+_vm._s(_vm.networkUserStats.messages_sent)+\" announcements\")])])]):_vm._e(),(_vm.selectedNetworkUser)?_c('div',{staticClass:\"mt-2\"},[_c('button',{staticClass:\"btn btn-primary btn-sm me-2\",staticStyle:{\"padding\":\"0.425rem 1.6rem !important\"},on:{\"click\":function($event){return _vm.extendMembership(_vm.networkUserStats.network_slug)}}},[(_vm.isMembershipActive)?_c('span',[_vm._v(\"Tweak membership\")]):_c('span',[_vm._v(\"Restore membership\")])]),(_vm.isMembershipActive)?_c('button',{staticClass:\"btn btn-danger btn-sm\",staticStyle:{\"padding\":\"0.425rem 1.6rem !important\"},on:{\"click\":function($event){return _vm.revokeMembership(_vm.networkUserStats.network_slug)}}},[_vm._v(\" Revoke access \")]):_vm._e()]):_vm._e()]),_c('b-modal',{attrs:{\"id\":\"stats-modal\",\"title\":\"Details\",\"hide-footer\":\"\"}},[_c('ol',_vm._l((_vm.modalData),function(item,index){return _c('li',{key:index},[(item.start)?_c('span',[_vm._v(\" \"+_vm._s(item.title)+\" (\"+_vm._s(_vm.utcToLocal(item.start).format('MMM D, YYYY'))+\" • \"+_vm._s(_vm.utcToLocal(item.start).format('hh:mm A'))+\") \")]):_c('a',{attrs:{\"href\":'/networks/'+ _vm.networkUserStats.network_slug + '/' + _vm.itemType + '/' + item.slug,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])])}),0)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n","import Vue from 'vue';\nexport default Vue.extend({\n data: function () {\n return {};\n },\n methods: {\n btnClickedHandler(params) {\n this.params.clicked(params.data);\n },\n },\n template: `\n {{ $t('network.delete') }}\n `,\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminDashboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminDashboard.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AdminDashboard.vue?vue&type=template&id=f13d0e8e&scoped=true\"\nimport script from \"./AdminDashboard.vue?vue&type=script&lang=js\"\nexport * from \"./AdminDashboard.vue?vue&type=script&lang=js\"\nimport style0 from \"./AdminDashboard.vue?vue&type=style&index=0&id=f13d0e8e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f13d0e8e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.authorizedAccess())?_c('DefaultSidebarLayout',{attrs:{\"adminSidebar\":true}},[_c('template',{slot:\"sidebar\"},[_c('div',{staticClass:\"row g-4 mt-1\"},[_c('div',{staticClass:\"col-md-12 col-lg-12 col-sm-12 p-0\"},[_c('ul',{staticClass:\"nav nav-tabs flex-column\",attrs:{\"id\":\"tabList\",\"role\":\"tablist\"}},[_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none active\",attrs:{\"href\":\"\",\"data-bs-target\":\"#vanity\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Dashboard.vanity-dashboard'))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#networkUserGrowth\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" Network user growth statistics \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#registeredUserGrowth\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" Registered user growth statistics \")])]),(_vm.isIndustryUserAdmin)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#industryUsers\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" Industry users \")])]):_vm._e(),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#networksNumber\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Dashboard.no-of-networks-over-the-time'))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#networksHits\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Index.of-hits-to-the-network'))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#inactiveNetworks\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" Inactive networks \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#popularMedia\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Index.most-popular-items-in-the-network'))+\" \")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-decoration-none\",attrs:{\"href\":\"\",\"data-bs-target\":\"#newsletter\",\"data-bs-toggle\":\"tab\",\"role\":\"tab\"}},[_vm._v(\" Newsletter \")])]),(_vm.$auth.can('network.create'))?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link text-decoration-none\",attrs:{\"to\":'networks-create'}},[_vm._v(\" \"+_vm._s(_vm.$t('network.createNetwork'))+\" \")])],1):_vm._e()])])])]),_c('div',{staticClass:\"row\",staticStyle:{\"margin-top\":\"10px\",\"margin-left\":\"-30px\"}},[_c('div',{staticClass:\"card shadow-lg\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"tab-content\",attrs:{\"id\":\"myTabContent\"}},[_c('div',{staticClass:\"tab-pane fade show active\",attrs:{\"id\":\"vanity\",\"role\":\"tabpanel\",\"aria-labelledby\":\"vanity-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('analyze-access-to-vanity-links')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.vanity.selectVanity')))]),_c('v-select',{attrs:{\"id\":\"vanity_hits_chart_selected_vanity_option\",\"data-test\":\"vanity_hits_chart_selected_vanity_option\",\"options\":_vm.vanity_chart_vanity_options,\"label\":\"slug\",\"value\":\"id\"},model:{value:(_vm.vanity_hits_chart_selected_vanity_option),callback:function ($$v) {_vm.vanity_hits_chart_selected_vanity_option=$$v},expression:\"vanity_hits_chart_selected_vanity_option\"}})],1)],1),_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.vanity_hits_chart_selected_date),expression:\"vanity_hits_chart_selected_date\"}],staticClass:\"form-control\",attrs:{\"id\":\"vanity_hits_chart_selected_date\",\"data-test\":\"vanity_hits_chart_selected_date\",\"type\":\"date\"},domProps:{\"value\":(_vm.vanity_hits_chart_selected_date)},on:{\"change\":_vm.renderVanityHitsChart,\"input\":function($event){if($event.target.composing)return;_vm.vanity_hits_chart_selected_date=$event.target.value}}})])],1),_c('div',{staticClass:\"col-12 mt-4 rounded\",staticStyle:{\"background-color\":\"#D9D9D9\"}},[(_vm.loaded)?_c('apexchart',{staticClass:\"mt-4\",attrs:{\"type\":\"bar\",\"height\":\"500\",\"options\":_vm.vanity_hits_chart_options,\"series\":_vm.vanity_hits_chart_series}}):_vm._e()],1)])])],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"networkUserGrowth\",\"role\":\"tabpanel\",\"aria-labelledby\":\"networkUserGrowth-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('view-user-growth-trends-in-networks-over-different-time-periods')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('SelectNetwork',{on:{\"network-selected\":_vm.networkUserGrowthNetworkSelected,\"search-option-selected\":_vm.networkUserGrowthSearchOptionSelected}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"network_user_growth_chart_selected_date\",\"data-test\":\"network_user_growth_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.networkUserGrowthChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.network_user_growth_chart_selected_date),callback:function ($$v) {_vm.network_user_growth_chart_selected_date=$$v},expression:\"network_user_growth_chart_selected_date\"}})],1)],1),_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.networkForm.groupBy')))]),_c('v-select',{attrs:{\"id\":\"network_user_growth_chart_group_by_option\",\"data-test\":\"network_user_growth_chart_group_by_option\",\"options\":_vm.group_by_options,\"placeholder\":_vm.$t('network.networkForm.groupBy')},on:{\"input\":_vm.networkUserGrowthChart},model:{value:(_vm.network_user_growth_chart_group_by_option),callback:function ($$v) {_vm.network_user_growth_chart_group_by_option=$$v},expression:\"network_user_growth_chart_group_by_option\"}})],1)],1),(_vm.show_network_user_growth_chart)?_c('div',{staticClass:\"col-12 mt-4 rounded\",staticStyle:{\"background-color\":\"#D9D9D9\"}},[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"type\":\"area\",\"height\":\"500\",\"options\":_vm.network_user_growth_chart_options,\"series\":_vm.network_user_growth_chart_series}})],1):_vm._e()])],1)],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"registeredUserGrowth\",\"role\":\"tabpanel\",\"aria-labelledby\":\"registeredUserGrowth-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('view-registered-user-growth-trends-over-different-time-periods')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"registered_user_growth_chart_selected_date\",\"data-test\":\"registered_user_growth_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.registeredUserGrowthChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.registered_user_growth_chart_selected_date),callback:function ($$v) {_vm.registered_user_growth_chart_selected_date=$$v},expression:\"registered_user_growth_chart_selected_date\"}})],1)],1),_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.networkForm.groupBy')))]),_c('v-select',{attrs:{\"id\":\"registered_user_growth_chart_group_by_option\",\"data-test\":\"registered_user_growth_chart_group_by_option\",\"options\":_vm.group_by_options,\"placeholder\":_vm.$t('network.networkForm.groupBy')},on:{\"input\":_vm.registeredUserGrowthChart},model:{value:(_vm.registered_user_growth_chart_group_by_option),callback:function ($$v) {_vm.registered_user_growth_chart_group_by_option=$$v},expression:\"registered_user_growth_chart_group_by_option\"}})],1)],1),(_vm.show_registered_user_growth_chart)?_c('div',{staticClass:\"col-12 mt-4 rounded\",staticStyle:{\"background-color\":\"#D9D9D9\"}},[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"type\":\"area\",\"height\":\"500\",\"options\":_vm.registered_user_growth_chart_options,\"series\":_vm.registered_user_growth_chart_series}})],1):_vm._e()])])],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"industryUsers\",\"role\":\"tabpanel\",\"aria-labelledby\":\"industryUsers-tab\"}},[_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c(_vm.showIndustryUserSection ? 'IndustryUsersDetails' : 'IndustryUsersDashboard',{tag:\"component\",attrs:{\"user\":_vm.selectedIndustryUser},on:{\"close-industry-user-details-view\":_vm.closeIndustryUserDetailsView,\"show-industry-user-details-view\":_vm.showIndustryUsersDetailsView}})],1)],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"networksNumber\",\"role\":\"tabpanel\",\"aria-labelledby\":\"networksNumber-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('see-how-many-new-networks-have-been-added-over-different-time-periods')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"network_count_chart_selected_date\",\"data-test\":\"network_count_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.networkCountChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.network_count_chart_selected_date),callback:function ($$v) {_vm.network_count_chart_selected_date=$$v},expression:\"network_count_chart_selected_date\"}})],1)],1),_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.networkForm.groupBy')))]),_c('v-select',{attrs:{\"id\":\"network_count_chart_group_by_option\",\"data-test\":\"network_count_chart_group_by_option\",\"options\":_vm.group_by_options,\"placeholder\":_vm.$t('network.networkForm.groupBy')},on:{\"input\":_vm.networkCountChart},model:{value:(_vm.network_count_chart_group_by_option),callback:function ($$v) {_vm.network_count_chart_group_by_option=$$v},expression:\"network_count_chart_group_by_option\"}})],1)],1),(_vm.show_network_count_chart)?_c('div',{staticClass:\"col-12 mt-4 rounded\",staticStyle:{\"background-color\":\"#D9D9D9\"}},[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"type\":\"area\",\"height\":\"500\",\"options\":_vm.network_count_chart_options,\"series\":_vm.network_count_chart_series}})],1):_vm._e()])])],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"networksHits\",\"role\":\"tabpanel\",\"aria-labelledby\":\"networksHits-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('see-which-networks-are-frequently-visited')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('SelectNetwork',{on:{\"network-selected\":_vm.networkHitsNetworkSelected,\"search-option-selected\":_vm.networkHitsSearchOptionSelected}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-4\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.searchFor')))]),_c('v-select',{attrs:{\"id\":\"network_hits_chart_selected_search_for\",\"data-test\":\"network_hits_chart_selected_search_for\",\"options\":_vm.network_hits_chart_search_for,\"label\":\"title\",\"value\":\"id\"},on:{\"input\":_vm.networkHitsChart},model:{value:(_vm.network_hits_chart_selected_search_for),callback:function ($$v) {_vm.network_hits_chart_selected_search_for=$$v},expression:\"network_hits_chart_selected_search_for\"}})],1)],1),_c('div',{staticClass:\"col-4\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"network_hits_chart_selected_date\",\"data-test\":\"network_hits_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.networkHitsChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.network_hits_chart_selected_date),callback:function ($$v) {_vm.network_hits_chart_selected_date=$$v},expression:\"network_hits_chart_selected_date\"}})],1)],1),_c('div',{staticClass:\"col-4\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.networkForm.groupBy')))]),_c('v-select',{attrs:{\"id\":\"network_hits_chart_group_by_option\",\"data-test\":\"network_hits_chart_group_by_option\",\"options\":_vm.group_by_options,\"placeholder\":_vm.$t('network.networkForm.groupBy')},on:{\"input\":_vm.networkHitsChart},model:{value:(_vm.network_hits_chart_group_by_option),callback:function ($$v) {_vm.network_hits_chart_group_by_option=$$v},expression:\"network_hits_chart_group_by_option\"}})],1)],1),(_vm.show_network_hits_chart)?_c('div',{staticClass:\"col-12 mt-4 rounded\",staticStyle:{\"background-color\":\"#D9D9D9\"}},[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"type\":\"area\",\"height\":\"500\",\"options\":_vm.network_hits_chart_options,\"series\":_vm.network_hits_chart_series}})],1):_vm._e()])],1)],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"inactiveNetworks\",\"role\":\"tabpanel\",\"aria-labelledby\":\"inactiveNetworks-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('view-a-list-outlining-inactive-networks-based-on-different-criteria')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('ag-grid-vue',{staticClass:\"ag-theme-alpine text-center\",staticStyle:{\"width\":\"100%\",\"height\":\"100vh\",\"font-family\":\"'Nunito', sans-serif\"},attrs:{\"rowSelection\":\"single\",\"gridOptions\":_vm.gridOptions,\"frameworkComponents\":_vm.frameworkComponents,\"columnDefs\":_vm.columnDefs,\"pagination\":true,\"paginationPageSize\":\"25\",\"rowData\":_vm.inactive_network_stats},on:{\"grid-ready\":_vm.onGridReady}})],1)],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"popularMedia\",\"role\":\"tabpanel\",\"aria-labelledby\":\"popularMedia-tab\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t('find-out-which-media-items-are-performing-best-across-different-networks')))]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('SelectNetwork',{on:{\"network-selected\":_vm.popularNetworkItemNetworkSelected,\"search-option-selected\":_vm.popularNetworkItemSearchOptionSelected}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"popular_network_item_chart_selected_date\",\"data-test\":\"popular_network_item_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.popularNetworkItemChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.popular_network_item_chart_selected_date),callback:function ($$v) {_vm.popular_network_item_chart_selected_date=$$v},expression:\"popular_network_item_chart_selected_date\"}})],1)],1),(_vm.show_popular_network_item_table)?_c('div',{staticClass:\"col-12 mt-4 rounded\"},[(_vm.popular_network_item_stats && _vm.popular_network_item_stats.length)?_c('div',{staticStyle:{\"background-color\":\"#D9D9D9\",\"padding\":\"1px 15px\"}},[_c('table',{staticClass:\"table table-striped table-condensed table-bordered table-hover mt-3\",staticStyle:{\"background-color\":\"white\"}},[_c('thead',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('nav.media')))]),_c('td',{staticClass:\"text-end\"},[_vm._v(_vm._s(_vm.$t('Index.hits')))]),_c('td',{staticStyle:{\"width\":\"150px\"}},[_vm._v(_vm._s(_vm.$t('Dashboard.unique-users')))])])]),_c('tbody',_vm._l((_vm.popular_network_item_stats.slice(0, 20)),function(item,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(item.title))]),_c('td',{staticClass:\"text-end\"},[_vm._v(_vm._s(item.num_total_hits))]),_c('td',{staticClass:\"text-end\"},[_vm._v(_vm._s(item.num_of_users_accessed))])])}),0)])]):_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")])]):_vm._e()])],1)],1),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"newsletter\",\"role\":\"tabpanel\",\"aria-labelledby\":\"newsletter-tab\"}},[_c('h5',[_vm._v(\"Get insights on various parameters across networks to build you newsletter.\")]),_c('hr',{staticStyle:{\"opacity\":\"0.7\",\"height\":\"2px\"}}),_c('b-overlay',{attrs:{\"show\":_vm.busy}},[_c('SelectNetwork',{on:{\"network-selected\":_vm.newsletterNetworkSelected,\"search-option-selected\":_vm.newsletterSearchOptionSelected}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('b-form-group',{staticClass:\"m-1\"},[_c('label',{staticClass:\"fw-bold text-secondary\"},[_vm._v(_vm._s(_vm.$t('network.dashboard.selectDate')))]),_c('date-range-picker',{ref:\"picker\",attrs:{\"id\":\"newsletter_chart_selected_date\",\"data-test\":\"newsletter_chart_selected_date\",\"ranges\":_vm.date_ranges,\"opens\":\"left\",\"showDropdowns\":true,\"linkedCalendars\":false,\"locale-data\":{ firstDay: 1, format: 'yyyy-mm-dd ' }},on:{\"update\":_vm.newsletterChart},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('span',{staticStyle:{\"padding\":\"inherit\",\"display\":\"block\"}},[_vm._v(_vm._s(_vm._f(\"date\")(picker.startDate))+\" - \"+_vm._s(_vm._f(\"date\")(picker.endDate)))])]}}],null,false,126742282),model:{value:(_vm.newsletter_chart_selected_date),callback:function ($$v) {_vm.newsletter_chart_selected_date=$$v},expression:\"newsletter_chart_selected_date\"}})],1)],1),(_vm.show_newsletter_table)?_c('div',{staticClass:\"col-12 mt-2 rounded\"},[_c('hr',{staticStyle:{\"background\":\"repeating-linear-gradient(239deg, transparent, transparent 10px, black 10px, black 20px)\",\"margin\":\"20px 0px\"}}),(Object.keys(this.newsletter_stats).length)?_c('div',{staticClass:\"container\",staticStyle:{\"padding\":\"1px 0\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'networks' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'networks'}}},[_vm._v(\" \"+_vm._s(_vm.$t('network.networks'))+\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'media' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'media'}}},[_vm._v(\" \"+_vm._s(_vm.$t('nav.media'))+\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'members' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'members'}}},[_vm._v(\" \"+_vm._s(_vm.$t('network.tabMembers'))+\" \")])]),_c('div',{staticClass:\"col-2 text-center\"},[_c('span',{staticClass:\"tab ms-3\",class:_vm.currentView == 'meetings' ? 'text-primary underlined' : '',attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentView = 'meetings'}}},[_vm._v(\" \"+_vm._s(_vm.$t('network.tabMeetings'))+\" \")])]),_c('div',{staticClass:\"col-8\"}),_c('hr',{staticStyle:{\"opacity\":\"0.5\",\"height\":\"3px\"}})]),_c('div',{staticClass:\"row\"},[(_vm.currentView == 'networks')?_c('div',[_c('p',[_vm._v(\"Discover key metrics that highlight the growth, popularity, and activity across networks.\")]),_c('v-select',{staticClass:\"mt-2 mb-4\",attrs:{\"options\":_vm.network_stats_options,\"get-option-label\":option => option.text,\"placeholder\":\"Select a stat\"},model:{value:(_vm.selected_network_stat),callback:function ($$v) {_vm.selected_network_stat=$$v},expression:\"selected_network_stat\"}}),(_vm.selected_network_stat.value === 'most_popular_networks')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_popular_networks.data),function(network){return _c('div',{key:network,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(network.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(network.total_hits)+\" hits\")])])])])}),(Object.keys(this.newsletter_stats.most_popular_networks.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_network_stat.value === 'most_active_networks')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_active_networks.data),function(network){return _c('div',{key:network,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(network.network_name))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(network.total_members)+\" members\")]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(network.total_messages)+\" messages\")])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(\" \"+_vm._s(network.days_since_last_activity)+\" days since last activity \")])])])])}),(Object.keys(this.newsletter_stats.most_active_networks.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_network_stat.value === 'top_growing_networks')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.top_growing_networks.data),function(network){return _c('div',{key:network,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(network.network_name))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(network.total_new_media)+\" new media items\")]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(network.total_new_members)+\" new members\")])])])])])}),(Object.keys(this.newsletter_stats.top_growing_networks.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_network_stat.value === 'geographic_location')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_c('div',[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"height\":\"500\",\"options\":_vm.geolocation_options,\"series\":_vm.newsletter_stats.geographic_location.data.series}})],1),(Object.keys(this.newsletter_stats.geographic_location.data.series).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()])]):_vm._e(),(_vm.selected_network_stat.value === 'geographic_location_country')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_c('div',[_c('apexchart',{staticClass:\"mt-4\",attrs:{\"height\":\"500\",\"options\":_vm.geolocation_options_country,\"series\":_vm.newsletter_stats.geographic_location_country.data.series}})],1),(Object.keys(this.newsletter_stats.geographic_location_country.data.series).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()])]):_vm._e()],1):_vm._e(),(_vm.currentView == 'media')?_c('div',[_c('p',[_vm._v(\"Analyze the top-performing media content, from likes to downloads, and see who's driving the most engagement.\")]),_c('v-select',{staticClass:\"mt-2 mb-4\",attrs:{\"options\":_vm.media_stats_options,\"get-option-label\":option => option.text,\"placeholder\":\"Select a stat\"},model:{value:(_vm.selected_media_stat),callback:function ($$v) {_vm.selected_media_stat=$$v},expression:\"selected_media_stat\"}}),(_vm.selected_media_stat.value === 'most_downloaded_media')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_downloaded_media.data),function(media){return _c('div',{key:media,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(media.title))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(media.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(media.num_total_downloads)+\" downloads\")])])])])}),(Object.keys(this.newsletter_stats.most_downloaded_media.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_media_stat.value === 'most_liked_media')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_liked_media.data),function(media){return _c('div',{key:media,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(media.title))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(media.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(media.num_total_likes)+\" likes\")])])])])}),(Object.keys(this.newsletter_stats.most_liked_media.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_media_stat.value === 'most_popular_media_items')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_popular_media_items.data),function(media){return _c('div',{key:media,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(media.title))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(media.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(media.num_total_hits)+\" hits\")])])])])}),(Object.keys(this.newsletter_stats.most_popular_media_items.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_media_stat.value === 'most_watched_video')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_watched_video.data),function(media){return _c('div',{key:media,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(media.title))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(media.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(media.num_total_views)+\" views\")])])])])}),(Object.keys(this.newsletter_stats.most_watched_video.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.selected_media_stat.value === 'top_media_tags')?_c('div',[_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.top_media_tags.data),function(media){return _c('div',{key:media,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(media.tag_name))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(media.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(media.num_total_tags_usage)+\" uses\")])])])])}),(Object.keys(this.newsletter_stats.top_media_tags.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e()],1):_vm._e(),(_vm.currentView == 'members')?_c('div',[_c('p',[_vm._v(\"Explore detailed insights into member activity and contributions within the networks.\")]),_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.top_media_contributors.data),function(contributor){return _c('div',{key:contributor,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('img',{staticClass:\"rounded-circle\",staticStyle:{\"width\":\"100px !important\",\"height\":\"100px !important\"},attrs:{\"src\":contributor.contributor_image || '/img/user.png',\"alt\":contributor.contributor_name}}),_c('h5',{staticClass:\"card-title text-center mt-3\"},[_vm._v(_vm._s(contributor.contributor_name))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(contributor.contributor_email))]),_c('p',{staticClass:\"card-text text-center mb-3\"},[_vm._v(_vm._s(contributor.network_name))])]),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(contributor.num_media_uploaded)+\" media added\")])])])])}),(Object.keys(this.newsletter_stats.top_media_contributors.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e(),(_vm.currentView == 'meetings')?_c('div',[_c('p',[_vm._v(\"Review the most popular meetings that are shaping network interactions.\")]),_c('div',{staticClass:\"row no-gutters mx-n3\"},[_vm._l((this.newsletter_stats.most_popular_meeting.data),function(meeting){return _c('div',{key:meeting,staticClass:\"col-md-6 col-lg-4 col-sm-12 d-flex align-items-stretch mb-3\"},[_c('div',{staticClass:\"card shadow-sm text-center w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"card-body d-flex flex-column justify-content-between\"},[_c('div',[_c('h5',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(meeting.title))]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(\" \"+_vm._s(_vm.utcToLocal(meeting.start).format('MMM D, YYYY'))+\" • \"+_vm._s(_vm.utcToLocal(meeting.start).format('hh:mm A'))+\" \")]),_c('p',{staticClass:\"card-text text-center\"},[_vm._v(_vm._s(meeting.network_name))])]),_c('br'),_c('p',{staticClass:\"card-text text-center text-info mt-auto\"},[_vm._v(_vm._s(meeting.num_attendees)+\" attendees\")])])])])}),(Object.keys(this.newsletter_stats.most_popular_meeting.data).length == 0)?_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")]):_vm._e()],2)]):_vm._e()]),_c('div',[_c('button',{staticClass:\"btn btn-primary btn-sm pt-2 ms-3\",on:{\"click\":_vm.exportToExcel}},[_c('i',{staticClass:\"fas fa-file-excel\",staticStyle:{\"font-size\":\"19px\"}}),_vm._v(\"  Export Excel \")])])]):_c('div',{staticClass:\"alert alert-info text-center mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('network.member.noResultsToShow'))+\" \")])]):_vm._e()])],1)],1)])])])])])],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.iterator.flat-map');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersRequests.vue?vue&type=style&index=0&id=d21012e8&prod&lang=css\"","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustryUsersDashboard.vue?vue&type=style&index=0&id=09805299&prod&scoped=true&lang=css\""],"sourceRoot":""}