From ab2ecebac9eea6dab16fbfde377b48422d657046 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Fri, 10 Feb 2017 11:23:01 -0800 Subject: [PATCH] version bump 0.8.3: BIFF2 read/write - basic support for parsing BIFF2-4 - basic support for writing BIFF2 - cleaned up some bad substr uses for IE6 compatibility - added flow type annotations for xlsx.flow.js - added numerous null guards (fixes #255 h/t @martinheidegger) - README cleanup (fixes #539 h/t @oliversalzburg) - pin jszip to local version (closes #408 h/t @limouri) bower issues: | id | author | comment | |-----:|:------------------|:------------------------------------------| | #254 | @kkirsche | fixes #254 by removing version from json | | #165 | @vincentcialdella | fixes #165 by changing default script | | #180 | @owencraig | fixes #180 by using xlsx.core.min.js | format issues: | id | author | comment | |-----:|:------------------|:------------------------------------------| | #271 | @morstaine | fixes #271 by reworking related parse fns | | #504 | @JanSchuermannPH | fixes #504 detect FullPaths h/t @Mithgol | | #508 | @basma-emad | fixes #508 offending file used `x:` NS | --- .flowconfig | 6 +- .npmignore | 2 + .travis.yml | 2 +- Makefile | 18 +- README.md | 54 +- bin/xlsx.njs | 23 +- bits/01_version.js | 2 +- bits/05_buf.js | 4 +- bits/09_types.js | 9 + bits/11_ssfutils.js | 4 +- bits/20_jsutils.js | 20 +- bits/21_ziputils.js | 43 +- bits/22_xmlutils.js | 36 +- bits/23_binutils.js | 67 +- bits/24_hoppers.js | 13 +- bits/26_crypto.js | 9 +- bits/28_binstructs.js | 48 +- bits/29_xlsenum.js | 196 +- bits/30_ctype.js | 20 +- bits/31_rels.js | 10 +- bits/33_coreprops.js | 4 +- bits/34_extprops.js | 4 +- bits/35_custprops.js | 6 +- bits/36_xlsprops.js | 2 +- bits/38_xlstypes.js | 16 +- bits/39_xlsbiff.js | 80 +- bits/42_sstxml.js | 73 +- bits/44_offcrypto.js | 33 +- bits/47_styxml.js | 12 +- bits/48_stybin.js | 10 +- bits/49_theme.js | 174 +- bits/52_ccxml.js | 1 + bits/56_cmntcommon.js | 2 +- bits/57_cmntxml.js | 20 +- bits/62_fxls.js | 163 +- bits/64_ftab.js | 1910 ++++---- bits/66_wscommon.js | 2 +- bits/67_wsxml.js | 56 +- bits/68_wsbin.js | 18 +- bits/{76_wbcommon.js => 71_wbcommon.js} | 0 bits/{77_wbxml.js => 72_wbxml.js} | 7 +- bits/{78_wbbin.js => 73_wbbin.js} | 4 +- bits/74_xmlbin.js | 58 + bits/{80_xlml.js => 75_xlml.js} | 31 +- bits/{81_xls.js => 76_xls.js} | 91 +- bits/77_parsetab.js | 1249 +++++ bits/78_writebiff.js | 118 + bits/79_xmlbin.js | 52 - bits/82_parsetab.js | 1230 ----- bits/84_defaults.js | 2 +- bits/85_parsezip.js | 28 +- bits/86_writezip.js | 6 +- bits/87_read.js | 28 +- bits/88_write.js | 11 +- bits/90_utils.js | 44 +- bower.json | 3 +- dist/ods.js | 3 +- dist/ods.min.js | 2 +- dist/ods.min.map | 2 +- dist/xlsx.core.min.js | 20 +- dist/xlsx.core.min.map | 2 +- dist/xlsx.full.min.js | 29 +- dist/xlsx.full.min.map | 2 +- dist/xlsx.js | 5657 +++++++++++---------- dist/xlsx.min.js | 20 +- dist/xlsx.min.map | 2 +- misc/_bower.json | 23 - misc/flow.js | 32 +- misc/flowdeps.js | 2 + ods.flow.js | 7 +- ods.js | 3 +- odsbits/20_jsutils.js | 4 +- odsbits/21_ziputils.js | 3 +- package.json | 3 +- test.js | 44 + tests.lst | 12 +- tests/write.js | 4 +- xlsx.flow.js | 5944 ++++++++++++----------- xlsx.js | 5657 +++++++++++---------- 79 files changed, 12655 insertions(+), 10956 deletions(-) rename bits/{76_wbcommon.js => 71_wbcommon.js} (100%) rename bits/{77_wbxml.js => 72_wbxml.js} (95%) rename bits/{78_wbbin.js => 73_wbbin.js} (98%) create mode 100644 bits/74_xmlbin.js rename bits/{80_xlml.js => 75_xlml.js} (96%) rename bits/{81_xls.js => 76_xls.js} (89%) create mode 100644 bits/77_parsetab.js create mode 100644 bits/78_writebiff.js delete mode 100644 bits/79_xmlbin.js delete mode 100644 bits/82_parsetab.js delete mode 100644 misc/_bower.json diff --git a/.flowconfig b/.flowconfig index 755cba0..21826f2 100644 --- a/.flowconfig +++ b/.flowconfig @@ -19,17 +19,20 @@ .*/xlsxworker2.js .*/jszip.js .*/tests/.* +.*/demos/.* -.*/xlsx.flow.js +#.*/xlsx.flow.js [include] xlsxworker.flow.js xlsxworker1.flow.js xlsxworker2.flow.js +xlsx.flow.js ods.flow.js .*/bin/.*.njs .*/demo/browser.flow.js [libs] +bits/09_types.js misc/flow.js misc/flowdeps.js @@ -37,3 +40,4 @@ misc/flowdeps.js module.file_ext=.js module.file_ext=.njs module.ignore_non_literal_requires=true +suppress_comment= \\(.\\|\n\\)*\\$FlowIgnore diff --git a/.npmignore b/.npmignore index 5b798a4..d761aa5 100644 --- a/.npmignore +++ b/.npmignore @@ -10,6 +10,7 @@ tmp *.prn *.slk *.socialcalc +*.XLS *.xls *.xlsb *.xlsm @@ -32,6 +33,7 @@ test.js .gitmodules .travis.yml .flowconfig +*.flow.js bits/ odsbits/ tests/ diff --git a/.travis.yml b/.travis.yml index d46f96c..2c5af2a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ node_js: - "0.8" before_install: - "npm install -g npm@next" - - "npm install -g mocha voc" + - "npm install -g mocha@2.x voc" - "npm install blanket" - "npm install xlsjs" - "npm install coveralls mocha-lcov-reporter" diff --git a/Makefile b/Makefile index 481f075..7a29c69 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ FLOWTARGET=$(LIB).flow.js FLOWAUX=$(patsubst %.js,%.flow.js,$(AUXTARGETS)) AUXSCPTS=xlsxworker1.js xlsxworker2.js xlsxworker.js FLOWTGTS=$(TARGET) $(AUXTARGETS) $(AUXSCPTS) +UGLIFYOPTS=--support-ie8 ## Main Targets @@ -34,7 +35,7 @@ bits/18_cfb.js: node_modules/cfb/dist/xlscfb.js .PHONY: clean clean: ## Remove targets and build artifacts - rm -f $(TARGET) + rm -f $(TARGET) $(FLOWTARGET) .PHONY: clean-data clean-data: @@ -52,11 +53,11 @@ init: ## Initial setup for development dist: dist-deps $(TARGET) bower.json ## Prepare JS files for distribution cp $(TARGET) dist/ cp LICENSE dist/ - uglifyjs $(TARGET) -o dist/$(LIB).min.js --source-map dist/$(LIB).min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(UGLIFYOPTS) $(TARGET) -o dist/$(LIB).min.js --source-map dist/$(LIB).min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).min.js - uglifyjs $(REQS) $(TARGET) -o dist/$(LIB).core.min.js --source-map dist/$(LIB).core.min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(UGLIFYOPTS) $(REQS) $(TARGET) -o dist/$(LIB).core.min.js --source-map dist/$(LIB).core.min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).core.min.js - uglifyjs $(REQS) $(ADDONS) $(TARGET) -o dist/$(LIB).full.min.js --source-map dist/$(LIB).full.min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(UGLIFYOPTS) $(REQS) $(ADDONS) $(TARGET) -o dist/$(LIB).full.min.js --source-map dist/$(LIB).full.min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).full.min.js .PHONY: dist-deps @@ -64,12 +65,9 @@ dist-deps: ods.js ## Copy dependencies for distribution cp node_modules/codepage/dist/cpexcel.full.js dist/cpexcel.js cp jszip.js dist/jszip.js cp ods.js dist/ods.js - uglifyjs ods.js -o dist/ods.min.js --source-map dist/ods.min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(UGLIFYOPTS) ods.js -o dist/ods.min.js --source-map dist/ods.min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/ods.min.js -bower.json: misc/_bower.json package.json - cat $< | sed 's/_VERSION_/'`grep version package.json | awk '{gsub(/[^0-9a-z\.-]/,"",$$2); print $$2}'`'/' > $@ - .PHONY: aux aux: $(AUXTARGETS) @@ -108,7 +106,7 @@ lint: $(TARGET) $(AUXTARGETS) ## Run jshint and jscs checks flow: lint ## Run flow checker @flow check --all --show-all-errors -.PHONY: cov cov-spin +.PHONY: cov cov: misc/coverage.html ## Run coverage test #* To run coverage tests for one format, make cov_ @@ -120,7 +118,7 @@ $(COVFMT): cov_%: misc/coverage.html: $(TARGET) test.js mocha --require blanket -R html-cov -t 20000 > $@ -.PHONY: coveralls coveralls-spin +.PHONY: coveralls coveralls: ## Coverage Test + Send to coveralls.io mocha --require blanket --reporter mocha-lcov-reporter -t 20000 | node ./node_modules/coveralls/bin/coveralls.js diff --git a/README.md b/README.md index 3162cac..a40f5bf 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,18 @@ implementation from official specifications and related documents. Supported read formats: - Excel 2007+ XML Formats (XLSX/XLSM) -- Excel 2007+ Binary Format (XLSB) +- Excel 2007+ Binary Format (XLSB BIFF12) - Excel 2003-2004 XML Format (XML "SpreadsheetML") - Excel 97-2004 (XLS BIFF8) - Excel 5.0/95 (XLS BIFF5) +- Excel 2.0/3.0/4.0 (XLS BIFF2/BIFF3/BIFF4) - OpenDocument Spreadsheet (ODS) Supported write formats: -- Excel 2007+ XML Formats (XLSX/XLSM) -- Excel 2007+ Binary Format (XLSB) nodejs only +- Excel 2.0 (XLS BIFF2, compatible with *every version* of Excel) +- Excel 2007+ XML Formats (XLSX/XLSM, compatible with Excel 2007+) +- Excel 2007+ Binary Format (XLSB, compatible with Excel 2007+) - CSV (and general DSV) - JSON and JS objects (various styles) - OpenDocument Spreadsheet (ODS) @@ -26,6 +28,7 @@ Source: Paid support available through the [reinforcements program](http://sheetjs.com/reinforcements) + ## Installation With [npm](https://www.npmjs.org/package/xlsx): @@ -198,11 +201,6 @@ function handleFile(e) { input_dom_element.addEventListener('change', handleFile, false); ``` -The readAsArrayBuffer form requires some preprocessing: - -```js -``` - ## Working with the Workbook The full object format is described later in this README. @@ -277,10 +275,11 @@ XLSX.writeFile(workbook, 'out.xlsx'); /* at this point, out.xlsx is a file that you can distribute */ ``` -- write to binary string (using FileSaver.js): +- browser generate binary blob and "download" to client + (using [FileSaver.js](https://github.com/eligrey/FileSaver.js/) for download): ```js -/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' */ +/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' or 'ods' */ var wopts = { bookType:'xlsx', bookSST:false, type:'binary' }; var wbout = XLSX.write(workbook,wopts); @@ -508,28 +507,43 @@ The defaults are enumerated in bits/84\_defaults.js The exported `write` and `writeFile` functions accept an options argument: -| Option Name | Default | Description | -| :---------- | ------: | :--------------------------------------------------- | -| cellDates | `false` | Store dates as type `d` (default is `n`) | -| bookSST | `false` | Generate Shared String Table ** | -| bookType | 'xlsx' | Type of Workbook ("xlsx" or "xlsm" or "xlsb") | -| compression | `false` | Use file compression for formats with ZIP containers | +| Option Name | Default | Description | +| :---------- | -------: | :-------------------------------------------------- | +| cellDates | `false` | Store dates as type `d` (default is `n`) | +| bookSST | `false` | Generate Shared String Table ** | +| bookType | `"xlsx"` | Type of Workbook (see below for supported formats) | +| sheet | `""` | Name of Worksheet for single-sheet formats ** | +| compression | `false` | Use ZIP compression for ZIP-based formats ** | - `bookSST` is slower and more memory intensive, but has better compatibility with older versions of iOS Numbers -- `bookType = 'xlsb'` is stubbed and far from complete - The raw data is the only thing guaranteed to be saved. Formulae, formatting, and other niceties may not be serialized (pending CSF standardization) - `cellDates` only applies to XLSX output and is not guaranteed to work with third-party readers. Excel itself does not usually write cells with type `d` so non-Excel tools may ignore the data or blow up in the presence of dates. +Supported output formats (`bookType`): + +| bookType | file ext | container | sheets | Description | +| :------- | -------: | :-------: | :----- |:---------------------------- | +| `xlsx` | `.xlsx` | ZIP | multi | Excel 2007+ XML Format | +| `xlsm` | `.xlsm` | ZIP | multi | Excel 2007+ Macro XML Format | +| `xlsb` | `.xlsb` | ZIP | multi | Excel 2007+ Binary Format | +| `ods` | `.ods` | ZIP | multi | OpenDocument Spreadsheet | +| `biff2` | `.xls` | none | single | Excel 2.0 Worksheet format | + +- `compression` only applies to formats with ZIP containers. +- Formats that only support a single sheet require a `sheet` option specifying + the worksheet. If the string is empty, the first worksheet is used. + ## Tested Environments - NodeJS 0.8, 0.9, 0.10, 0.11, 0.12, 4.x, 5.x, 6.x, 7.x - - IE 6/7/8/9/10/11 using Base64 mode (IE10/11 using HTML5 mode) - - FF 18 using Base64 or HTML5 mode - - Chrome 24 using Base64 or HTML5 mode + - IE 6/7/8/9/10/11 (IE6-9 browsers require shims for interacting with client) + - Chrome 24+ + - Safari 6+ + - FF 18+ Tests utilize the mocha testing framework. Travis-CI and Sauce Labs links: diff --git a/bin/xlsx.njs b/bin/xlsx.njs index 4c6ee5e..150495b 100755 --- a/bin/xlsx.njs +++ b/bin/xlsx.njs @@ -16,13 +16,16 @@ program .option('-B, --xlsb', 'emit XLSB to or .xlsb') .option('-M, --xlsm', 'emit XLSM to or .xlsm') .option('-X, --xlsx', 'emit XLSX to or .xlsx') + .option('-Y, --ods', 'emit ODS to or .ods') + .option('-2, --biff2','emit XLS to or .xls (BIFF2)') .option('-S, --formulae', 'print formulae') .option('-j, --json', 'emit formatted JSON (all fields text)') .option('-J, --raw-js', 'emit raw JS object (raw numbers)') .option('-F, --field-sep ', 'CSV field separator', ",") .option('-R, --row-sep ', 'CSV row separator', "\n") .option('-n, --sheet-rows ', 'Number of rows to process (0=all rows)') - .option('--sst', 'generate sst') + .option('--sst', 'generate shared string table for XLS* formats') + .option('--compress', 'use compression when writing XLSX/M/B and ODS') .option('--perf', 'do not generate output') .option('--all', 'parse everything; XLS[XMB] write as much as possible') .option('--dev', 'development mode') @@ -104,11 +107,14 @@ if(program.listSheets) { process.exit(0); } -var wopts = {WTF:opts.WTF, bookSST:program.sst}; +var wopts = ({WTF:opts.WTF, bookSST:program.sst}/*:any*/); +if(program.compress) wopts.compression = true; -if(program.xlsx) { X.writeFile(wb, sheetname || (filename + ".xlsx"), wopts); process.exit(0); } -if(program.xlsm) { X.writeFile(wb, sheetname || (filename + ".xlsm"), wopts); process.exit(0); } -if(program.xlsb) { X.writeFile(wb, sheetname || (filename + ".xlsb"), wopts); process.exit(0); } +/* full workbook formats */ +['xlsx', 'xlsm', 'xlsb', 'ods'].forEach(function(m) { if(program[m]) { + X.writeFile(wb, sheetname || ((filename || "") + "." + m), wopts); + process.exit(0); +} }); var target_sheet = sheetname || ''; if(target_sheet === '') target_sheet = wb.SheetNames[0]; @@ -124,6 +130,13 @@ try { if(program.perf) process.exit(0); +/* single worksheet XLS formats */ +['biff2'].forEach(function(m) { if(program[m]) { + wopts.bookType = m; + X.writeFile(wb, sheetname || ((filename || "") + ".xls"), wopts); + process.exit(0); +} }); + var oo = ""; if(!program.quiet) console.error(target_sheet); if(program.formulae) oo = X.utils.get_formulae(ws).join("\n"); diff --git a/bits/01_version.js b/bits/01_version.js index bb6ad9c..d1338ea 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.8.2'; +XLSX.version = '0.8.3'; diff --git a/bits/05_buf.js b/bits/05_buf.js index ab3565d..79dda9b 100644 --- a/bits/05_buf.js +++ b/bits/05_buf.js @@ -1,12 +1,12 @@ var has_buf = (typeof Buffer !== 'undefined'); -function new_raw_buf(len) { +function new_raw_buf(len/*:number*/) { /* jshint -W056 */ return new (has_buf ? Buffer : Array)(len); /* jshint +W056 */ } -function s2a(s) { +function s2a(s/*:string*/) { if(has_buf) return new Buffer(s, "binary"); return s.split("").map(function(x){ return x.charCodeAt(0) & 0xff; }); } diff --git a/bits/09_types.js b/bits/09_types.js index 1d4007d..16115b0 100644 --- a/bits/09_types.js +++ b/bits/09_types.js @@ -1,8 +1,17 @@ /*:: declare type Block = any; declare type BufArray = { + newblk(sz:number):Block; next(sz:number):Block; end():any; push(buf:Block):void; }; + +type RecordHopperCB = {(d:any, R:any, RT:number):?boolean;}; + +type EvertType = {[string]:string}; +type EvertNumType = {[string]:number}; +type EvertArrType = {[string]:Array}; + +type StringConv = {(string):string}; */ diff --git a/bits/11_ssfutils.js b/bits/11_ssfutils.js index 5253ad4..f2d0c41 100644 --- a/bits/11_ssfutils.js +++ b/bits/11_ssfutils.js @@ -1,5 +1,5 @@ /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap = { +var XLMLFormatMap/*{[string]:string}*/ = ({ "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -16,5 +16,5 @@ var XLMLFormatMap = { "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}; +}/*:any*/); diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index b3e4a36..12b6378 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -1,27 +1,27 @@ function isval(x/*:?any*/)/*:boolean*/ { return x !== undefined && x !== null; } -function keys(o) { return Object.keys(o); } +function keys(o/*:any*/)/*:Array*/ { return Object.keys(o); } -function evert_key(obj, key) { - var o = [], K = keys(obj); +function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; return o; } -function evert(obj) { - var o = [], K = keys(obj); +function evert(obj/*:any*/)/*:EvertType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i]; return o; } -function evert_num(obj) { - var o = [], K = keys(obj); +function evert_num(obj/*:any*/)/*:EvertNumType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10); return o; } -function evert_arr(obj) { - var o = [], K = keys(obj); +function evert_arr(obj/*:any*/)/*:EvertArrType*/ { + var o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) { if(o[obj[K[i]]] == null) o[obj[K[i]]] = []; o[obj[K[i]]].push(K[i]); @@ -30,7 +30,7 @@ function evert_arr(obj) { } /* TODO: date1904 logic */ -function datenum(v, date1904) { +function datenum(v/*:number*/, date1904/*:?boolean*/)/*:number*/ { if(date1904) v+=1462; var epoch = Date.parse(v); return (epoch + 2209161600000) / (24 * 60 * 60 * 1000); diff --git a/bits/21_ziputils.js b/bits/21_ziputils.js index e62013e..84e789e 100644 --- a/bits/21_ziputils.js +++ b/bits/21_ziputils.js @@ -1,44 +1,53 @@ -function getdata(data) { +function getdatastr(data)/*:?string*/ { if(!data) return null; - if(data.name.substr(-4) === ".bin") { - if(data.data) return char_codes(data.data); - if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); - if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); - } else { - if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(data.data); - if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom_xml(data.asBinary()); - if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); - } + if(data.data) return debom_xml(data.data); + if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); + if(data.asBinary) return debom_xml(data.asBinary()); + if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); return null; } -function safegetzipfile(zip, file) { +function getdatabin(data) { + if(!data) return null; + if(data.data) return char_codes(data.data); + if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); + if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); + return null; +} + +function getdata(data) { return (data && data.name.substr(data.name.length-4) === ".bin") ? getdatabin(data) : getdatastr(data); } + +function safegetzipfile(zip, file/*:string*/) { var f = file; if(zip.files[f]) return zip.files[f]; f = file.toLowerCase(); if(zip.files[f]) return zip.files[f]; f = f.replace(/\//g,'\\'); if(zip.files[f]) return zip.files[f]; return null; } -function getzipfile(zip, file) { +function getzipfile(zip, file/*:string*/) { var o = safegetzipfile(zip, file); if(o == null) throw new Error("Cannot find file " + file + " in zip"); return o; } -function getzipdata(zip, file, safe/*:?boolean*/) { +function getzipdata(zip, file/*:string*/, safe/*:?boolean*/) { if(!safe) return getdata(getzipfile(zip, file)); if(!file) return null; try { return getzipdata(zip, file); } catch(e) { return null; } } -/*:: declare var JSZip:any; */ +function getzipstr(zip, file/*:string*/, safe/*:?boolean*/)/*:?string*/ { + if(!safe) return getdatastr(getzipfile(zip, file)); + if(!file) return null; + try { return getzipstr(zip, file); } catch(e) { return null; } +} + var _fs, jszip; +/*:: declare var JSZip:any; */ if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } diff --git a/bits/22_xmlutils.js b/bits/22_xmlutils.js index e36bf18..cec5b56 100644 --- a/bits/22_xmlutils.js +++ b/bits/22_xmlutils.js @@ -1,8 +1,8 @@ var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; -function parsexmltag(tag, skip_root) { - var z = []; +function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/)/*:any*/ { + var z = ([]/*:any*/); var eq = 0, c = 0; for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break; if(!skip_root) z[0] = tag.substr(0, eq); @@ -18,7 +18,7 @@ function parsexmltag(tag, skip_root) { } return z; } -function strip_ns(x) { return x.replace(nsregex2, "<$1"); } +function strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, "<$1"); } var encodings = { '"': '"', @@ -31,28 +31,28 @@ var rencoding = evert(encodings); var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) -var unescapexml = (function() { +var unescapexml/*:StringConv*/ = (function() { var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]+)_/g; - return function unescapexml(text){ + return function unescapexml(text/*:string*/)/*:string*/ { var s = text + ''; return s.replace(encregex, function($$) { return encodings[$$]; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));}); }; })(); var decregex=/[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f]/g; -function escapexml(text){ +function escapexml(text/*:string*/)/*:string*/{ var s = text + ''; return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).substr(-4) + "_";}); } /* TODO: handle codepages */ -var xlml_fixstr = (function() { +var xlml_fixstr/*:StringConv*/ = (function() { var entregex = /&#(\d+);/g; - function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } - return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; + function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } + return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -function parsexmlbool(value, tag) { +function parsexmlbool(value/*:any*/, tag/*:?string*/)/*:boolean*/ { switch(value) { case '1': case 'true': case 'TRUE': return true; /* case '0': case 'false': case 'FALSE':*/ @@ -60,7 +60,7 @@ function parsexmlbool(value, tag) { } } -var utf8read = function utf8reada(orig) { +var utf8read/*:StringConv*/ = function utf8reada(orig) { var out = "", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0; while (i < orig.length) { c = orig.charCodeAt(i++); @@ -106,7 +106,7 @@ if(has_buf) { var matchtag = (function() { var mtcache = {}; return function matchtag(f,g) { - var t = f+"|"+g; + var t = f+"|"+(g||""); if(mtcache[t] !== undefined) return mtcache[t]; return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',(g||""))); }; @@ -122,7 +122,7 @@ function parseVector(data) { var h = parsexmltag(data); var matches = data.match(vtregex(h.baseType))||[]; - if(matches.length != h.size) throw "unexpected vector length " + matches.length + " != " + h.size; + if(matches.length != h.size) throw new Error("unexpected vector length " + matches.length + " != " + h.size); var res = []; matches.forEach(function(x) { var v = x.replace(vtvregex,"").match(vtmregex); @@ -134,10 +134,10 @@ function parseVector(data) { var wtregex = /(^\s|\s$|\n)/; function writetag(f,g) {return '<' + f + (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function wxt_helper(h) { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } -function writextag(f,g,h) { return '<' + f + (isval(h) ? wxt_helper(h) : "") + (isval(g) ? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} +function wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } +function writextag(f,g,h) { return '<' + f + (isval(h) /*:: && h */? wxt_helper(h) : "") + (isval(g) /*:: && g */? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } +function write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } function write_vt(s) { switch(typeof s) { @@ -150,7 +150,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = { +var XMLNS = ({ 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -160,7 +160,7 @@ var XMLNS = { 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsd': 'http://www.w3.org/2001/XMLSchema' -}; +}/*:any*/); XMLNS.main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', diff --git a/bits/23_binutils.js b/bits/23_binutils.js index 857ed44..6158a24 100644 --- a/bits/23_binutils.js +++ b/bits/23_binutils.js @@ -1,19 +1,27 @@ -function readIEEE754(buf, idx, isLE, nl, ml) { - if(isLE === undefined) isLE = true; - if(!nl) nl = 8; - if(!ml && nl === 8) ml = 52; - var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; - var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; +function read_double_le(b, idx/*:number*/)/*:number*/ { + var s = 1 - 2 * (b[idx + 7] >>> 7); + var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); + var m = (b[idx+6]&0x0f); + for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; + if(e == 0x7ff) return m == 0 ? s * Infinity : NaN; + if(e == 0) e = -1022; + else { e -= 1023; m += Math.pow(2,52); } + return s * Math.pow(2, e - 52) * m; +} - i += d; - e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; - for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); - m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; - for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); - if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); - else if (e === 0) e = 1 - eBias; - else { m = m + Math.pow(2, ml); e = e - eBias; } - return (s ? -1 : 1) * m * Math.pow(2, e - ml); +function write_double_le(b, v/*:number*/, idx/*:number*/) { + var bs = ((v < 0 || 1/v == -Infinity) ? 1 : 0) << 7, e = 0, m = 0; + var av = bs ? -v : v; + if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } + else { + e = Math.floor(Math.log(av) * Math.LOG2E); + m = v * Math.pow(2, 52 - e); + if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } + else { m -= Math.pow(2,52); e+=1023; } + } + for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; + b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; + b[idx + 7] = (e >> 4) | bs; } var __toBuffer, ___toBuffer; @@ -29,18 +37,18 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur var __lpwstr, ___lpwstr; __lpwstr = ___lpwstr = function lpwstr_(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; var __double, ___double; -__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; +__double = ___double = function(b, idx) { return read_double_le(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; -if(has_buf) { +if(has_buf/*:: && typeof Buffer != 'undefined'*/) { __utf16le = function utf16le_b(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e); }; __hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); }; __lpstr = function lpstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; __lpwstr = function lpwstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);}; - __utf8 = function utf8_b(s,e) { return this.toString('utf8',s,e); }; + __utf8 = function utf8_b(b, s,e) { return b.toString('utf8',s,e); }; __toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);}; bconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); }; - __double = function double_(b,i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); }; + __double = function double_(b,i) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); }; is_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); }; } @@ -125,20 +133,27 @@ function ReadShift(size, t) { this.l+=size; return o; } +var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; +var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; +var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; + function WriteShift(t, val, f) { var size, i; if(f === 'dbcs') { - for(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; + } else if(f === 'sbcs') { + for(i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 0xFF; + size = val.length; } else switch(t) { - case 1: size = 1; this[this.l] = val&255; break; - case 2: size = 2; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; break; - case 3: size = 3; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l+2] = val&255; break; - case 4: size = 4; this.writeUInt32LE(val, this.l); break; - case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } + case 1: size = 1; this[this.l] = val&0xFF; break; + case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; + case 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; + case 4: size = 4; __writeUInt32LE(this, val, this.l); break; + case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; this.writeInt32LE(val, this.l); break; + case -4: size = 4; __writeInt32LE(this, val, this.l); break; } this.l += size; return this; } diff --git a/bits/24_hoppers.js b/bits/24_hoppers.js index ca69faf..d622edf 100644 --- a/bits/24_hoppers.js +++ b/bits/24_hoppers.js @@ -1,5 +1,6 @@ /* [MS-XLSB] 2.1.4 Record */ -function recordhopper(data, cb, opts) { +function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { + if(!data) return; var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -15,7 +16,7 @@ function recordhopper(data, cb, opts) { } /* control buffer usage for fixed-length buffers */ -function buf_array() { +function buf_array()/*:BufArray*/ { var bufs = [], blksz = 2048; var newblk = function ba_newblk(sz) { var o = new_buf(sz); @@ -26,13 +27,14 @@ function buf_array() { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { + if(!curbuf) return; if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(sz < curbuf.length - curbuf.l) return curbuf; + if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -44,11 +46,12 @@ function buf_array() { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return { next:next, push:push, end:end, _bufs:bufs }; + return ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/); } function write_record(ba/*:BufArray*/, type/*:string*/, payload, length/*:?number*/) { - var t = evert_RE[type], l; + var t/*:number*/ = Number(evert_RE[type]), l; + if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; diff --git a/bits/26_crypto.js b/bits/26_crypto.js index db36131..23a0a40 100644 --- a/bits/26_crypto.js +++ b/bits/26_crypto.js @@ -25,11 +25,10 @@ var make_offcrypto = function(O, _crypto) { return out; }; - if(crypto) { - O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; - } else { - O.md5 = function(hex) { throw "unimplemented"; }; - } + O.md5 = function(hex) { + if(!crypto) throw new Error("Unsupported crypto"); + return crypto.createHash('md5').update(hex).digest('hex'); + }; }; make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); diff --git a/bits/28_binstructs.js b/bits/28_binstructs.js index e96fbb5..d00cb1b 100644 --- a/bits/28_binstructs.js +++ b/bits/28_binstructs.js @@ -1,16 +1,16 @@ /* [MS-XLSB] 2.5.143 */ -function parse_StrRun(data, length) { +function parse_StrRun(data, length/*:?number*/) { return { ich: data.read_shift(2), ifnt: data.read_shift(2) }; } /* [MS-XLSB] 2.1.7.121 */ -function parse_RichStr(data, length) { +function parse_RichStr(data, length/*:number*/) { var start = data.l; var flags = data.read_shift(1); var str = parse_XLWideString(data); var rgsStrRun = []; - var z = { t: str, h: str }; + var z = ({ t: str, h: str }/*:any*/); if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -43,7 +43,7 @@ function parse_XLSBCell(data) { function write_XLSBCell(cell, o) { if(o == null) o = new_buf(8); o.write_shift(-4, cell.c); - o.write_shift(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); + o.write_shift(3, cell.iStyleRef || cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -53,11 +53,11 @@ function write_XLSBCell(cell, o) { function parse_XLSBCodeName (data, length) { return parse_XLWideString(data, length); } /* [MS-XLSB] 2.5.166 */ -function parse_XLNullableWideString(data) { +function parse_XLNullableWideString(data)/*:string*/ { var cchCharacters = data.read_shift(4); return cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLNullableWideString(data, o) { +function write_XLNullableWideString(data/*:string*/, o) { if(!o) o = new_buf(127); o.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF); if(data.length > 0) o.write_shift(0, data, 'dbcs'); @@ -65,11 +65,11 @@ function write_XLNullableWideString(data, o) { } /* [MS-XLSB] 2.5.168 */ -function parse_XLWideString(data) { +function parse_XLWideString(data)/*:string*/ { var cchCharacters = data.read_shift(4); return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLWideString(data, o) { +function write_XLWideString(data/*:string*/, o) { if(o == null) o = new_buf(4+2*data.length); o.write_shift(4, data.length); if(data.length > 0) o.write_shift(0, data, 'dbcs'); @@ -83,7 +83,7 @@ var write_RelID = write_XLNullableWideString; /* [MS-XLSB] 2.5.122 */ /* [MS-XLS] 2.5.217 */ -function parse_RkNumber(data) { +function parse_RkNumber(data)/*:number*/ { var b = data.slice(data.l, data.l+4); var fX100 = b[0] & 1, fInt = b[0] & 2; data.l+=4; @@ -102,8 +102,8 @@ function write_RkNumber(data/*:number*/, o) { /* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data) { - var cell = {s: {}, e: {}}; +function parse_UncheckedRfX(data)/*:Range*/ { + var cell/*:Range*/ = ({s: {}, e: {}}/*:any*/); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); cell.s.c = data.read_shift(4); @@ -111,7 +111,7 @@ function parse_UncheckedRfX(data) { return cell; } -function write_UncheckedRfX(r, o) { +function write_UncheckedRfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -123,25 +123,25 @@ function write_UncheckedRfX(r, o) { /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ -function parse_Xnum(data, length) { return data.read_shift(8, 'f'); } +function parse_Xnum(data, length/*:?number*/) { return data.read_shift(8, 'f'); } function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } /* [MS-XLSB] 2.5.198.2 */ var BErr = { - 0x00: "#NULL!", - 0x07: "#DIV/0!", - 0x0F: "#VALUE!", - 0x17: "#REF!", - 0x1D: "#NAME?", - 0x24: "#NUM!", - 0x2A: "#N/A", - 0x2B: "#GETTING_DATA", - 0xFF: "#WTF?" + /*::[*/0x00/*::]*/: "#NULL!", + /*::[*/0x07/*::]*/: "#DIV/0!", + /*::[*/0x0F/*::]*/: "#VALUE!", + /*::[*/0x17/*::]*/: "#REF!", + /*::[*/0x1D/*::]*/: "#NAME?", + /*::[*/0x24/*::]*/: "#NUM!", + /*::[*/0x2A/*::]*/: "#N/A", + /*::[*/0x2B/*::]*/: "#GETTING_DATA", + /*::[*/0xFF/*::]*/: "#WTF?" }; var RBErr = evert_num(BErr); /* [MS-XLSB] 2.4.321 BrtColor */ -function parse_BrtColor(data, length) { +function parse_BrtColor(data, length/*:number*/) { var out = {}; var d = data.read_shift(1); out.fValidRGB = d & 1; @@ -155,7 +155,7 @@ function parse_BrtColor(data, length) { } /* [MS-XLSB] 2.5.52 */ -function parse_FontFlags(data, length) { +function parse_FontFlags(data, length/*:number*/) { var d = data.read_shift(1); data.l++; var out = { diff --git a/bits/29_xlsenum.js b/bits/29_xlsenum.js index f9fc64e..2dcd187 100644 --- a/bits/29_xlsenum.js +++ b/bits/29_xlsenum.js @@ -43,62 +43,62 @@ /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Category', t: VT_STRING }, - 0x03: { n: 'PresentationFormat', t: VT_STRING }, - 0x04: { n: 'ByteCount', t: VT_I4 }, - 0x05: { n: 'LineCount', t: VT_I4 }, - 0x06: { n: 'ParagraphCount', t: VT_I4 }, - 0x07: { n: 'SlideCount', t: VT_I4 }, - 0x08: { n: 'NoteCount', t: VT_I4 }, - 0x09: { n: 'HiddenCount', t: VT_I4 }, - 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, - 0x0b: { n: 'Scale', t: VT_BOOL }, - 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, - 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, - 0x0e: { n: 'Manager', t: VT_STRING }, - 0x0f: { n: 'Company', t: VT_STRING }, - 0x10: { n: 'LinksDirty', t: VT_BOOL }, - 0x11: { n: 'CharacterCount', t: VT_I4 }, - 0x13: { n: 'SharedDoc', t: VT_BOOL }, - 0x16: { n: 'HLinksChanged', t: VT_BOOL }, - 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, - 0x1A: { n: 'ContentType', t: VT_STRING }, - 0x1B: { n: 'ContentStatus', t: VT_STRING }, - 0x1C: { n: 'Language', t: VT_STRING }, - 0x1D: { n: 'Version', t: VT_STRING }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, + /*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING }, + /*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING }, + /*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 }, + /*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 }, + /*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 }, + /*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 }, + /*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 }, + /*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 }, + /*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 }, + /*::[*/0x0b/*::]*/: { n: 'Scale', t: VT_BOOL }, + /*::[*/0x0c/*::]*/: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, + /*::[*/0x0d/*::]*/: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, + /*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING }, + /*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING }, + /*::[*/0x10/*::]*/: { n: 'LinksDirty', t: VT_BOOL }, + /*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 }, + /*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL }, + /*::[*/0x16/*::]*/: { n: 'HLinksChanged', t: VT_BOOL }, + /*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' }, + /*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING }, + /*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING }, + /*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING }, + /*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING }, + /*::[*/0xFF/*::]*/: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Title', t: VT_STRING }, - 0x03: { n: 'Subject', t: VT_STRING }, - 0x04: { n: 'Author', t: VT_STRING }, - 0x05: { n: 'Keywords', t: VT_STRING }, - 0x06: { n: 'Comments', t: VT_STRING }, - 0x07: { n: 'Template', t: VT_STRING }, - 0x08: { n: 'LastAuthor', t: VT_STRING }, - 0x09: { n: 'RevNumber', t: VT_STRING }, - 0x0A: { n: 'EditTime', t: VT_FILETIME }, - 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, - 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, - 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, - 0x0E: { n: 'PageCount', t: VT_I4 }, - 0x0F: { n: 'WordCount', t: VT_I4 }, - 0x10: { n: 'CharCount', t: VT_I4 }, - 0x11: { n: 'Thumbnail', t: VT_CF }, - 0x12: { n: 'ApplicationName', t: VT_LPSTR }, - 0x13: { n: 'DocumentSecurity', t: VT_I4 }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, + /*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING }, + /*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING }, + /*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING }, + /*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING }, + /*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING }, + /*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING }, + /*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING }, + /*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING }, + /*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME }, + /*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME }, + /*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME }, + /*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME }, + /*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 }, + /*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 }, + /*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 }, + /*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF }, + /*::[*/0x12/*::]*/: { n: 'ApplicationName', t: VT_LPSTR }, + /*::[*/0x13/*::]*/: { n: 'DocumentSecurity', t: VT_I4 }, + /*::[*/0xFF/*::]*/: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { - 0x80000000: { n: 'Locale', t: VT_UI4 }, - 0x80000003: { n: 'Behavior', t: VT_UI4 }, - 0x72627262: {} + /*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 }, + /*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 }, + /*::[*/0x72627262/*::]*/: {} }; (function() { @@ -108,56 +108,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { - 0x0001: "US", // United States - 0x0002: "CA", // Canada - 0x0003: "", // Latin America (except Brazil) - 0x0007: "RU", // Russia - 0x0014: "EG", // Egypt - 0x001E: "GR", // Greece - 0x001F: "NL", // Netherlands - 0x0020: "BE", // Belgium - 0x0021: "FR", // France - 0x0022: "ES", // Spain - 0x0024: "HU", // Hungary - 0x0027: "IT", // Italy - 0x0029: "CH", // Switzerland - 0x002B: "AT", // Austria - 0x002C: "GB", // United Kingdom - 0x002D: "DK", // Denmark - 0x002E: "SE", // Sweden - 0x002F: "NO", // Norway - 0x0030: "PL", // Poland - 0x0031: "DE", // Germany - 0x0034: "MX", // Mexico - 0x0037: "BR", // Brazil - 0x003d: "AU", // Australia - 0x0040: "NZ", // New Zealand - 0x0042: "TH", // Thailand - 0x0051: "JP", // Japan - 0x0052: "KR", // Korea - 0x0054: "VN", // Viet Nam - 0x0056: "CN", // China - 0x005A: "TR", // Turkey - 0x0069: "JS", // Ramastan - 0x00D5: "DZ", // Algeria - 0x00D8: "MA", // Morocco - 0x00DA: "LY", // Libya - 0x015F: "PT", // Portugal - 0x0162: "IS", // Iceland - 0x0166: "FI", // Finland - 0x01A4: "CZ", // Czech Republic - 0x0376: "TW", // Taiwan - 0x03C1: "LB", // Lebanon - 0x03C2: "JO", // Jordan - 0x03C3: "SY", // Syria - 0x03C4: "IQ", // Iraq - 0x03C5: "KW", // Kuwait - 0x03C6: "SA", // Saudi Arabia - 0x03CB: "AE", // United Arab Emirates - 0x03CC: "IL", // Israel - 0x03CE: "QA", // Qatar - 0x03D5: "IR", // Iran - 0xFFFF: "US" // United States + /*::[*/0x0001/*::]*/: "US", // United States + /*::[*/0x0002/*::]*/: "CA", // Canada + /*::[*/0x0003/*::]*/: "", // Latin America (except Brazil) + /*::[*/0x0007/*::]*/: "RU", // Russia + /*::[*/0x0014/*::]*/: "EG", // Egypt + /*::[*/0x001E/*::]*/: "GR", // Greece + /*::[*/0x001F/*::]*/: "NL", // Netherlands + /*::[*/0x0020/*::]*/: "BE", // Belgium + /*::[*/0x0021/*::]*/: "FR", // France + /*::[*/0x0022/*::]*/: "ES", // Spain + /*::[*/0x0024/*::]*/: "HU", // Hungary + /*::[*/0x0027/*::]*/: "IT", // Italy + /*::[*/0x0029/*::]*/: "CH", // Switzerland + /*::[*/0x002B/*::]*/: "AT", // Austria + /*::[*/0x002C/*::]*/: "GB", // United Kingdom + /*::[*/0x002D/*::]*/: "DK", // Denmark + /*::[*/0x002E/*::]*/: "SE", // Sweden + /*::[*/0x002F/*::]*/: "NO", // Norway + /*::[*/0x0030/*::]*/: "PL", // Poland + /*::[*/0x0031/*::]*/: "DE", // Germany + /*::[*/0x0034/*::]*/: "MX", // Mexico + /*::[*/0x0037/*::]*/: "BR", // Brazil + /*::[*/0x003d/*::]*/: "AU", // Australia + /*::[*/0x0040/*::]*/: "NZ", // New Zealand + /*::[*/0x0042/*::]*/: "TH", // Thailand + /*::[*/0x0051/*::]*/: "JP", // Japan + /*::[*/0x0052/*::]*/: "KR", // Korea + /*::[*/0x0054/*::]*/: "VN", // Viet Nam + /*::[*/0x0056/*::]*/: "CN", // China + /*::[*/0x005A/*::]*/: "TR", // Turkey + /*::[*/0x0069/*::]*/: "JS", // Ramastan + /*::[*/0x00D5/*::]*/: "DZ", // Algeria + /*::[*/0x00D8/*::]*/: "MA", // Morocco + /*::[*/0x00DA/*::]*/: "LY", // Libya + /*::[*/0x015F/*::]*/: "PT", // Portugal + /*::[*/0x0162/*::]*/: "IS", // Iceland + /*::[*/0x0166/*::]*/: "FI", // Finland + /*::[*/0x01A4/*::]*/: "CZ", // Czech Republic + /*::[*/0x0376/*::]*/: "TW", // Taiwan + /*::[*/0x03C1/*::]*/: "LB", // Lebanon + /*::[*/0x03C2/*::]*/: "JO", // Jordan + /*::[*/0x03C3/*::]*/: "SY", // Syria + /*::[*/0x03C4/*::]*/: "IQ", // Iraq + /*::[*/0x03C5/*::]*/: "KW", // Kuwait + /*::[*/0x03C6/*::]*/: "SA", // Saudi Arabia + /*::[*/0x03CB/*::]*/: "AE", // United Arab Emirates + /*::[*/0x03CC/*::]*/: "IL", // Israel + /*::[*/0x03CE/*::]*/: "QA", // Qatar + /*::[*/0x03D5/*::]*/: "IR", // Iran + /*::[*/0xFFFF/*::]*/: "US" // United States }; /* [MS-XLS] 2.5.127 */ diff --git a/bits/30_ctype.js b/bits/30_ctype.js index 183c717..d083929 100644 --- a/bits/30_ctype.js +++ b/bits/30_ctype.js @@ -3,7 +3,7 @@ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type = { +var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -141,7 +141,7 @@ var ct2type = { "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}; +}/*:any*/); var CT_LIST = (function(){ var o = { @@ -169,16 +169,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct = evert_arr(ct2type); +var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; -function parse_ct(data, opts) { - var ctext = {}; - if(!data || !data.match) return data; - var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], +function parse_ct(data/*:?string*/, opts) { + var ct = ({ workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], - TODO:[], rels:[], xmlns: "" }; + TODO:[], rels:[], xmlns: "" }/*:any*/); + if(!data || !data.match) return ct; + var ctext = {}; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -214,8 +214,8 @@ var CTYPE_DEFAULTS = [ return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); }); -function write_ct(ct, opts) { - var o = [], v; +function write_ct(ct, opts)/*:string*/ { + var o/*:Array*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); o = o.concat(CTYPE_DEFAULTS); diff --git a/bits/31_rels.js b/bits/31_rels.js index 12ac36f..e8ebf3f 100644 --- a/bits/31_rels.js +++ b/bits/31_rels.js @@ -1,10 +1,10 @@ /* 9.3.2 OPC Relationships Markup */ -var RELS = { +var RELS = ({ WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument" -}; +}/*:any*/); -function parse_rels(data, currentFilePath) { +function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { if (!data) return data; if (currentFilePath.charAt(0) !== '/') { currentFilePath = '/'+currentFilePath; @@ -27,7 +27,7 @@ function parse_rels(data, currentFilePath) { return toksFrom.join('/'); }; - data.match(tagregex).forEach(function(x) { + (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === ' >*/ = [ ["cp:category", "Category"], ["cp:contentStatus", "ContentStatus"], ["cp:keywords", "Keywords"], @@ -21,7 +21,7 @@ var CORE_PROPS = [ XMLNS.CORE_PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"; RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; -var CORE_PROPS_REGEX = (function() { +var CORE_PROPS_REGEX/*:Array*/ = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { var f = CORE_PROPS[i]; diff --git a/bits/34_extprops.js b/bits/34_extprops.js index 23ec968..09a6725 100644 --- a/bits/34_extprops.js +++ b/bits/34_extprops.js @@ -1,6 +1,6 @@ /* 15.2.12.3 Extended File Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var EXT_PROPS = [ +var EXT_PROPS/*:Array >*/ = [ ["Application", "Application", "string"], ["AppVersion", "AppVersion", "string"], ["Company", "Company", "string"], @@ -51,7 +51,7 @@ var EXT_PROPS_XML_ROOT = writextag('Properties', null, { 'xmlns:vt': XMLNS.vt }); -function write_ext_props(cp, opts) { +function write_ext_props(cp, opts)/*:string*/ { var o = [], p = {}, W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; diff --git a/bits/35_custprops.js b/bits/35_custprops.js index 28dac06..b2f1e68 100644 --- a/bits/35_custprops.js +++ b/bits/35_custprops.js @@ -3,8 +3,8 @@ XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; var custregex = /<[^>]+>[^<]*/g; -function parse_cust_props(data, opts) { - var p = {}, name; +function parse_cust_props(data/*:string*/, opts) { + var p = {}, name = ""; var m = data.match(custregex); if(m) for(var i = 0; i != m.length; ++i) { var x = m[i], y = parsexmltag(x); @@ -54,7 +54,7 @@ var CUST_PROPS_XML_ROOT = writextag('Properties', null, { 'xmlns:vt': XMLNS.vt }); -function write_cust_props(cp, opts) { +function write_cust_props(cp, opts)/*:string*/ { var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; if(!cp) return o.join(""); var pid = 1; diff --git a/bits/36_xlsprops.js b/bits/36_xlsprops.js index 215b737..d993209 100644 --- a/bits/36_xlsprops.js +++ b/bits/36_xlsprops.js @@ -1,4 +1,4 @@ -function xlml_set_prop(Props, tag, val) { +function xlml_set_prop(Props, tag/*:string*/, val) { /* TODO: Normalize the properties */ switch(tag) { case 'Description': tag = 'Comments'; break; diff --git a/bits/38_xlstypes.js b/bits/38_xlstypes.js index 7744cc2..9a0105c 100644 --- a/bits/38_xlstypes.js +++ b/bits/38_xlstypes.js @@ -68,7 +68,7 @@ function parse_VtVecHeadingPair(blob) { /* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */ function parse_dictionary(blob,CodePage) { var cnt = blob.read_shift(4); - var dict = {}; + var dict/*{[number]:string}*/ = ({}/*:any*/); for(var j = 0; j != cnt; ++j) { var pid = blob.read_shift(4); var len = blob.read_shift(4); @@ -82,7 +82,7 @@ function parse_dictionary(blob,CodePage) { function parse_BLOB(blob) { var size = blob.read_shift(4); var bytes = blob.slice(blob.l,blob.l+size); - if(size & 3 > 0) blob.l += (4 - (size & 3)) & 3; + if((size & 3) > 0) blob.l += (4 - (size & 3)) & 3; return bytes; } @@ -149,7 +149,7 @@ function parse_PropertySet(blob, PIDSI) { var NumProps = blob.read_shift(4); var Props = [], i = 0; var CodePage = 0; - var Dictionary = -1, DictObj; + var Dictionary = -1, DictObj/*{[number]:string}*/ = ({}/*:any*/); for(i = 0; i != NumProps; ++i) { var PropID = blob.read_shift(4); var Offset = blob.read_shift(4); @@ -240,7 +240,7 @@ function parse_PropertySetStream(file, PIDSI) { var blob = file.content; prep_blob(blob, 0); - var NumSets, FMTID0, FMTID1, Offset0, Offset1; + var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0; blob.chk('feff', 'Byte Order: '); var vers = blob.read_shift(2); // TODO: check version @@ -254,13 +254,13 @@ function parse_PropertySetStream(file, PIDSI) { else if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); } var PSet0 = parse_PropertySet(blob, PIDSI); - var rval = { SystemIdentifier: SystemIdentifier }; + var rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/); for(var y in PSet0) rval[y] = PSet0[y]; //rval.blob = blob; rval.FMTID = FMTID0; //rval.PSet0 = PSet0; if(NumSets === 1) return rval; - if(blob.l !== Offset1) throw "Length mismatch 2: " + blob.l + " !== " + Offset1; + if(blob.l !== Offset1) throw new Error("Length mismatch 2: " + blob.l + " !== " + Offset1); var PSet1; try { PSet1 = parse_PropertySet(blob, null); } catch(e) { } for(y in PSet1) rval[y] = PSet1[y]; @@ -323,7 +323,7 @@ function parse_XLUnicodeRichExtendedString(blob) { var cch = blob.read_shift(2), flags = blob.read_shift(1); var fHighByte = flags & 0x1, fExtSt = flags & 0x4, fRichSt = flags & 0x8; var width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs - var cRun, cbExtRst; + var cRun = 0, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -354,7 +354,7 @@ function parse_XLUnicodeString(blob, length, opts) { } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff !== 5 && opts.biff !== 2) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); var cch = blob.read_shift(1); if(cch === 0) { blob.l++; return ""; } return blob.read_shift(cch, 'sbcs-cont'); diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js index 153b7a4..3f048df 100644 --- a/bits/39_xlsbiff.js +++ b/bits/39_xlsbiff.js @@ -1,11 +1,11 @@ /* --- MS-XLS --- */ /* 2.5.19 */ -function parse_XLSCell(blob, length) { +function parse_XLSCell(blob, length)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return {r:rw, c:col, ixfe:ixfe}; + return ({r:rw, c:col, ixfe:ixfe}/*:any*/); } /* 2.5.134 */ @@ -101,22 +101,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { - 0x15: parse_FtCmo, - 0x13: parsenoop, /* FtLbsData */ - 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ - 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ - 0x10: parsenoop, /* FtEdoData */ - 0x0F: parsenoop, /* FtGboData */ - 0x0D: parse_FtNts, /* FtNts */ - 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ - 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ - 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ - 0x09: parsenoop, /* FtPictFmla */ - 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ - 0x07: parse_FtCf, /* FtCf */ - 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ - 0x04: parsenoop, /* FtMacro */ - 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ + /*::[*/0x15/*::]*/: parse_FtCmo, + /*::[*/0x13/*::]*/: parsenoop, /* FtLbsData */ + /*::[*/0x12/*::]*/: function(blob, length) { blob.l += 12; }, /* FtCblsData */ + /*::[*/0x11/*::]*/: function(blob, length) { blob.l += 8; }, /* FtRboData */ + /*::[*/0x10/*::]*/: parsenoop, /* FtEdoData */ + /*::[*/0x0F/*::]*/: parsenoop, /* FtGboData */ + /*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */ + /*::[*/0x0C/*::]*/: function(blob, length) { blob.l += 24; }, /* FtSbs */ + /*::[*/0x0B/*::]*/: function(blob, length) { blob.l += 10; }, /* FtRbo */ + /*::[*/0x0A/*::]*/: function(blob, length) { blob.l += 16; }, /* FtCbls */ + /*::[*/0x09/*::]*/: parsenoop, /* FtPictFmla */ + /*::[*/0x08/*::]*/: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ + /*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */ + /*::[*/0x06/*::]*/: function(blob, length) { blob.l += 6; }, /* FtGmo */ + /*::[*/0x04/*::]*/: parsenoop, /* FtMacro */ + /*::[*/0x00/*::]*/: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -146,7 +146,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: throw "Unexpected BIFF Ver " + o.BIFFVer; + default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); } blob.read_shift(length); return o; @@ -175,7 +175,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) >> 6; + var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -241,7 +241,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = blob.read_shift(2), miyRw; + var f = length == 4 ? blob.read_shift(2) : 0, miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -284,6 +284,7 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } +var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ function parse_Dimensions(blob, length) { @@ -342,13 +343,14 @@ function parse_Guts(blob, length) { var out = [blob.read_shift(2), blob.read_shift(2)]; if(out[0] !== 0) out[0]--; if(out[1] !== 0) out[1]--; - if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out.join("|"); return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length) { +function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -381,7 +383,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = { + var o = ({ fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -389,7 +391,7 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }; + }/*:any*/); if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); @@ -398,7 +400,6 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { - if(opts.biff < 8) return parse_Label(blob, length, opts); var target = blob.l + length; var flags = blob.read_shift(2); var chKey = blob.read_shift(1); @@ -486,6 +487,7 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; + var texts = ""; try { blob.l += 4; var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; @@ -499,7 +501,6 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); - var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -520,7 +521,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts||"" }; } +} catch(e) { blob.l = s + length; return { t: texts }; } } /* 2.4.140 */ @@ -915,3 +916,26 @@ function parse_BIFF2NUM(blob, length, opts) { return cell; } +function parse_BIFF2INT(blob, length) { + var cell = parse_XLSCell(blob, 6); + ++blob.l; + var num = blob.read_shift(2); + cell.val = num; + return cell; +} + +function parse_BIFF2STRING(blob, length) { + var cch = blob.read_shift(1); + if(cch === 0) { blob.l++; return ""; } + return blob.read_shift(cch, 'sbcs-cont'); +} + +/* TODO: convert to BIFF8 font struct */ +function parse_BIFF2FONTXTRA(blob, length) { + blob.l += 6; // unknown + blob.l += 2; // font weight "bls" + blob.l += 1; // charset + blob.l += 3; // unknown + blob.l += 1; // font family + blob.l += length - 9; +} diff --git a/bits/42_sstxml.js b/bits/42_sstxml.js index d67e14d..2ee9ca7 100644 --- a/bits/42_sstxml.js +++ b/bits/42_sstxml.js @@ -1,30 +1,30 @@ /* 18.4.1 charset to codepage mapping */ -var CS2CP = { - 0: 1252, /* ANSI */ - 1: 65001, /* DEFAULT */ - 2: 65001, /* SYMBOL */ - 77: 10000, /* MAC */ - 128: 932, /* SHIFTJIS */ - 129: 949, /* HANGUL */ - 130: 1361, /* JOHAB */ - 134: 936, /* GB2312 */ - 136: 950, /* CHINESEBIG5 */ - 161: 1253, /* GREEK */ - 162: 1254, /* TURKISH */ - 163: 1258, /* VIETNAMESE */ - 177: 1255, /* HEBREW */ - 178: 1256, /* ARABIC */ - 186: 1257, /* BALTIC */ - 204: 1251, /* RUSSIAN */ - 222: 874, /* THAI */ - 238: 1250, /* EASTEUROPE */ - 255: 1252, /* OEM */ - 69: 6969 /* MISC */ -}; +var CS2CP = ({ + /*::[*/0/*::]*/: 1252, /* ANSI */ + /*::[*/1/*::]*/: 65001, /* DEFAULT */ + /*::[*/2/*::]*/: 65001, /* SYMBOL */ + /*::[*/77/*::]*/: 10000, /* MAC */ + /*::[*/128/*::]*/: 932, /* SHIFTJIS */ + /*::[*/129/*::]*/: 949, /* HANGUL */ + /*::[*/130/*::]*/: 1361, /* JOHAB */ + /*::[*/134/*::]*/: 936, /* GB2312 */ + /*::[*/136/*::]*/: 950, /* CHINESEBIG5 */ + /*::[*/161/*::]*/: 1253, /* GREEK */ + /*::[*/162/*::]*/: 1254, /* TURKISH */ + /*::[*/163/*::]*/: 1258, /* VIETNAMESE */ + /*::[*/177/*::]*/: 1255, /* HEBREW */ + /*::[*/178/*::]*/: 1256, /* ARABIC */ + /*::[*/186/*::]*/: 1257, /* BALTIC */ + /*::[*/204/*::]*/: 1251, /* RUSSIAN */ + /*::[*/222/*::]*/: 874, /* THAI */ + /*::[*/238/*::]*/: 1250, /* EASTEUROPE */ + /*::[*/255/*::]*/: 1252, /* OEM */ + /*::[*/69/*::]*/: 6969 /* MISC */ +}/*:any*/); /* Parse a list of tags */ var parse_rs = (function parse_rs_factory() { - var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; + var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = /<(?:\w+:)?r>/g, rend = /<\/(?:\w+:)?r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -121,11 +121,11 @@ var parse_rs = (function parse_rs_factory() { var terms = [[],"",[]]; /* 18.4.12 t ST_Xstring */ var t = r.match(tregex), cp = 65001; - if(!isval(t)) return ""; + if(!isval(t)/*:: || !t*/) return ""; terms[1] = t[1]; var rpr = r.match(rpregex); - if(isval(rpr)) cp = parse_rpr(rpr[1], terms[0], terms[2]); + if(isval(rpr)/*:: && rpr*/) cp = parse_rpr(rpr[1], terms[0], terms[2]); return terms[0].join("") + terms[1].replace(nlregex,'
') + terms[2].join(""); } @@ -135,22 +135,22 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; +var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.charCodeAt(1) === 116) { - z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { z.r = x; - z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ @@ -159,14 +159,15 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /]*)>([\s\S]*)<\/sst>/; -var sstr1 = /<(?:si|sstItem)>/g; -var sstr2 = /<\/(?:si|sstItem)>/; -function parse_sst_xml(data, opts) { - var s = [], ss; +var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; +var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; +var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; +function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { + var s/*:SST*/ = ([]/*:any*/), ss = ""; + if(!data) return s; /* 18.4.9 sst CT_Sst */ var sst = data.match(sstr0); - if(isval(sst)) { + if(isval(sst)/*:: && sst*/) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { var o = parse_si(ss[i], opts); @@ -179,7 +180,7 @@ function parse_sst_xml(data, opts) { RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; -function write_sst_xml(sst, opts) { +function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { diff --git a/bits/44_offcrypto.js b/bits/44_offcrypto.js index 48d920e..fb3d4be 100644 --- a/bits/44_offcrypto.js +++ b/bits/44_offcrypto.js @@ -1,14 +1,19 @@ -function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } +function _JS2ANSI(str/*:string*/)/*:Array*/ { + if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); + var o = [], oo = str.split(""); + for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); + return o; +} /* [MS-OFFCRYPTO] 2.1.4 Version */ -function parse_Version(blob, length) { +function parse_Version(blob, length/*:number*/) { var o = {}; o.Major = blob.read_shift(2); o.Minor = blob.read_shift(2); return o; } /* [MS-OFFCRYPTO] 2.3.2 Encryption Header */ -function parse_EncryptionHeader(blob, length) { +function parse_EncryptionHeader(blob, length/*:number*/) { var o = {}; o.Flags = blob.read_shift(4); @@ -26,11 +31,11 @@ function parse_EncryptionHeader(blob, length) { } /* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */ -function parse_EncryptionVerifier(blob, length) { +function parse_EncryptionVerifier(blob, length/*:number*/) { return parsenoop(blob, length); } /* [MS-OFFCRYPTO] 2.3.5.1 RC4 CryptoAPI Encryption Header */ -function parse_RC4CryptoHeader(blob, length) { +function parse_RC4CryptoHeader(blob, length/*:number*/) { var o = {}; var vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4; if(vers.Minor != 2) throw 'unrecognized minor version code: ' + vers.Minor; @@ -42,7 +47,7 @@ function parse_RC4CryptoHeader(blob, length) { return o; } /* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */ -function parse_RC4Header(blob, length) { +function parse_RC4Header(blob, length/*:number*/) { var o = {}; var vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4; if(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor; @@ -53,7 +58,7 @@ function parse_RC4Header(blob, length) { } /* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */ -function crypto_CreatePasswordVerifier_Method1(Password) { +function crypto_CreatePasswordVerifier_Method1(Password/*:string*/) { var Verifier = 0x0000, PasswordArray; var PasswordDecoded = _JS2ANSI(Password); var len = PasswordDecoded.length + 1, i, PasswordByte; @@ -90,7 +95,7 @@ var crypto_CreateXorArray_Method1 = (function() { } return XorKey; }; - return function(password) { + return function(password/*:string*/) { var Password = _JS2ANSI(password); var XorKey = CreateXorKey_Method1(Password); var Index = Password.length; @@ -130,7 +135,7 @@ var crypto_CreateXorArray_Method1 = (function() { })(); /* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */ -var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) { +var crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) { /* If XorArray is set, use it; if O is not set, make changes in-place */ if(!O) O = Data; if(!XorArray) XorArray = crypto_CreateXorArray_Method1(password); @@ -145,10 +150,10 @@ var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArra return [O, XorArrayIndex, XorArray]; }; -var crypto_MakeXorDecryptor = function(password) { +var crypto_MakeXorDecryptor = function(password/*:string*/) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -156,7 +161,7 @@ var crypto_MakeXorDecryptor = function(password) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = { key: parseuint16(blob), verificationBytes: parseuint16(blob) }; + var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/); if(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password); out.valid = o.verificationBytes === o.verifier; if(out.valid) out.insitu_decrypt = crypto_MakeXorDecryptor(opts.password); @@ -164,13 +169,13 @@ function parse_XORObfuscation(blob, length, opts, out) { } /* 2.4.117 */ -function parse_FilePassHeader(blob, length, oo) { +function parse_FilePassHeader(blob, length/*:number*/, oo) { var o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2; if(o.Info === 1) o.Data = parse_RC4Header(blob, length); else o.Data = parse_RC4CryptoHeader(blob, length); return o; } -function parse_FilePass(blob, length, opts) { +function parse_FilePass(blob, length/*:number*/, opts) { var o = { Type: blob.read_shift(2) }; /* wEncryptionType */ if(o.Type) parse_FilePassHeader(blob, length-2, o); else parse_XORObfuscation(blob, length-2, opts, o); diff --git a/bits/47_styxml.js b/bits/47_styxml.js index 7916237..31eea7e 100644 --- a/bits/47_styxml.js +++ b/bits/47_styxml.js @@ -38,7 +38,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); } }); } @@ -46,9 +46,10 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k = keys(SSF._table); + var k/*Array*/ = (keys(SSF._table)/*:any*/); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); + if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -57,7 +58,7 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); } } } @@ -101,7 +102,7 @@ function parse_cellXfs(t, opts) { }); } -function write_cellXfs(cellXfs) { +function write_cellXfs(cellXfs)/*:string*/ { var o = []; o[o.length] = (writextag('cellXfs',null)); cellXfs.forEach(function(c) { o[o.length] = (writextag('xf', null, c)); }); @@ -118,6 +119,7 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { + if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -152,7 +154,7 @@ var STYLES_XML_ROOT = writextag('styleSheet', null, { RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; -function write_sty_xml(wb, opts) { +function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { var o = [XML_HEADER, STYLES_XML_ROOT], w; if((w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); diff --git a/bits/48_stybin.js b/bits/48_stybin.js index 9df1b93..d9f0423 100644 --- a/bits/48_stybin.js +++ b/bits/48_stybin.js @@ -1,13 +1,13 @@ /* [MS-XLSB] 2.4.651 BrtFmt */ -function parse_BrtFmt(data, length) { +function parse_BrtFmt(data, length/*:number*/) { var ifmt = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); return [ifmt, stFmtCode]; } /* [MS-XLSB] 2.4.653 BrtFont TODO */ -function parse_BrtFont(data, length) { - var out = {flags:{}}; +function parse_BrtFont(data, length/*:number*/) { + var out = ({flags:{}}/*:any*/); out.dyHeight = data.read_shift(2); out.grbit = parse_FontFlags(data, 2); out.bls = data.read_shift(2); @@ -33,7 +33,7 @@ function parse_BrtFont(data, length) { } /* [MS-XLSB] 2.4.816 BrtXF */ -function parse_BrtXF(data, length) { +function parse_BrtXF(data, length/*:number*/) { var ixfeParent = data.read_shift(2); var ifmt = data.read_shift(2); parsenoop(data, length-4); @@ -42,7 +42,7 @@ function parse_BrtXF(data, length) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = []; + styles.NumberFmt = ([]/*:any*/); for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; diff --git a/bits/49_theme.js b/bits/49_theme.js index 40b626c..a92d61e 100644 --- a/bits/49_theme.js +++ b/bits/49_theme.js @@ -4,7 +4,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - t[0].match(tagregex).forEach(function(x) { + (t[0].match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -88,7 +88,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; + if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); m[2](t, opts); }); } @@ -109,4 +109,172 @@ function parse_theme_xml(data, opts) { return themes; } -function write_theme() { return '\n'; } +function write_theme() { + var o = [XML_HEADER]; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + return o.join(""); +} diff --git a/bits/52_ccxml.js b/bits/52_ccxml.js index 0150de8..b7fee49 100644 --- a/bits/52_ccxml.js +++ b/bits/52_ccxml.js @@ -1,6 +1,7 @@ /* 18.6 Calculation Chain */ function parse_cc_xml(data, opts) { var d = []; + if(!data) return d; var l = 0, i = 1; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); diff --git a/bits/56_cmntcommon.js b/bits/56_cmntcommon.js index c0f8ce4..888cd20 100644 --- a/bits/56_cmntcommon.js +++ b/bits/56_cmntcommon.js @@ -34,7 +34,7 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = {a: comment.author, t: comment.t, r: comment.r}; + var o = ({a: comment.author, t: comment.t, r: comment.r}/*:any*/); if(comment.h) o.h = comment.h; cell.c.push(o); }); diff --git a/bits/57_cmntxml.js b/bits/57_cmntxml.js index fdd3337..57429ce 100644 --- a/bits/57_cmntxml.js +++ b/bits/57_cmntxml.js @@ -1,21 +1,27 @@ /* 18.7.3 CT_Comment */ -function parse_comments_xml(data, opts) { +function parse_comments_xml(data/*:string*/, opts)/*:Array*/ { if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { + var authtag = data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/); + if(authtag && authtag[1]) authtag[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); + var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); + if(a) authors.push(a[1]); }); - (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); + if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); - var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; + var cm = x.match(/<(?:\w+:)?comment[^>]*>/); + if(!cm) return; + var y = parsexmltag(cm[0]); + var comment/*:Comment*/ = ({ author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }/*:any*/); var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; - var textMatch = x.match(/([^\u2603]*)<\/text>/); + var textMatch = x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); + if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; diff --git a/bits/62_fxls.js b/bits/62_fxls.js index 45c9d0e..84d8c95 100644 --- a/bits/62_fxls.js +++ b/bits/62_fxls.js @@ -353,100 +353,106 @@ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { - 0x01: { n:'PtgExp', f:parse_PtgExp }, - 0x02: { n:'PtgTbl', f:parse_PtgTbl }, - 0x03: { n:'PtgAdd', f:parse_PtgAdd }, - 0x04: { n:'PtgSub', f:parse_PtgSub }, - 0x05: { n:'PtgMul', f:parse_PtgMul }, - 0x06: { n:'PtgDiv', f:parse_PtgDiv }, - 0x07: { n:'PtgPower', f:parse_PtgPower }, - 0x08: { n:'PtgConcat', f:parse_PtgConcat }, - 0x09: { n:'PtgLt', f:parse_PtgLt }, - 0x0A: { n:'PtgLe', f:parse_PtgLe }, - 0x0B: { n:'PtgEq', f:parse_PtgEq }, - 0x0C: { n:'PtgGe', f:parse_PtgGe }, - 0x0D: { n:'PtgGt', f:parse_PtgGt }, - 0x0E: { n:'PtgNe', f:parse_PtgNe }, - 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, - 0x10: { n:'PtgUnion', f:parse_PtgUnion }, - 0x11: { n:'PtgRange', f:parse_PtgRange }, - 0x12: { n:'PtgUplus', f:parse_PtgUplus }, - 0x13: { n:'PtgUminus', f:parse_PtgUminus }, - 0x14: { n:'PtgPercent', f:parse_PtgPercent }, - 0x15: { n:'PtgParen', f:parse_PtgParen }, - 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, - 0x17: { n:'PtgStr', f:parse_PtgStr }, - 0x1C: { n:'PtgErr', f:parse_PtgErr }, - 0x1D: { n:'PtgBool', f:parse_PtgBool }, - 0x1E: { n:'PtgInt', f:parse_PtgInt }, - 0x1F: { n:'PtgNum', f:parse_PtgNum }, - 0x20: { n:'PtgArray', f:parse_PtgArray }, - 0x21: { n:'PtgFunc', f:parse_PtgFunc }, - 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - 0x23: { n:'PtgName', f:parse_PtgName }, - 0x24: { n:'PtgRef', f:parse_PtgRef }, - 0x25: { n:'PtgArea', f:parse_PtgArea }, - 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, - 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, - 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, - 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, - 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, - 0x39: { n:'PtgNameX', f:parse_PtgNameX }, - 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, - 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, - 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, + /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, + /*::[*/0x03/*::]*/: { n:'PtgAdd', f:parse_PtgAdd }, + /*::[*/0x04/*::]*/: { n:'PtgSub', f:parse_PtgSub }, + /*::[*/0x05/*::]*/: { n:'PtgMul', f:parse_PtgMul }, + /*::[*/0x06/*::]*/: { n:'PtgDiv', f:parse_PtgDiv }, + /*::[*/0x07/*::]*/: { n:'PtgPower', f:parse_PtgPower }, + /*::[*/0x08/*::]*/: { n:'PtgConcat', f:parse_PtgConcat }, + /*::[*/0x09/*::]*/: { n:'PtgLt', f:parse_PtgLt }, + /*::[*/0x0A/*::]*/: { n:'PtgLe', f:parse_PtgLe }, + /*::[*/0x0B/*::]*/: { n:'PtgEq', f:parse_PtgEq }, + /*::[*/0x0C/*::]*/: { n:'PtgGe', f:parse_PtgGe }, + /*::[*/0x0D/*::]*/: { n:'PtgGt', f:parse_PtgGt }, + /*::[*/0x0E/*::]*/: { n:'PtgNe', f:parse_PtgNe }, + /*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parse_PtgIsect }, + /*::[*/0x10/*::]*/: { n:'PtgUnion', f:parse_PtgUnion }, + /*::[*/0x11/*::]*/: { n:'PtgRange', f:parse_PtgRange }, + /*::[*/0x12/*::]*/: { n:'PtgUplus', f:parse_PtgUplus }, + /*::[*/0x13/*::]*/: { n:'PtgUminus', f:parse_PtgUminus }, + /*::[*/0x14/*::]*/: { n:'PtgPercent', f:parse_PtgPercent }, + /*::[*/0x15/*::]*/: { n:'PtgParen', f:parse_PtgParen }, + /*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parse_PtgMissArg }, + /*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr }, + /*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr }, + /*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool }, + /*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt }, + /*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum }, + /*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray }, + /*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc }, + /*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar }, + /*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName }, + /*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef }, + /*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea }, + /*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea }, + /*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr }, + /*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, + /*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc }, + /*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr }, + /*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr }, + /*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN }, + /*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN }, + /*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX }, + /*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d }, + /*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d }, + /*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, + /*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, + /*::[*/0xFF/*::]*/: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { - 0x40: 0x20, 0x60: 0x20, - 0x41: 0x21, 0x61: 0x21, - 0x42: 0x22, 0x62: 0x22, - 0x43: 0x23, 0x63: 0x23, - 0x44: 0x24, 0x64: 0x24, - 0x45: 0x25, 0x65: 0x25, - 0x46: 0x26, 0x66: 0x26, - 0x47: 0x27, 0x67: 0x27, - 0x48: 0x28, 0x68: 0x28, - 0x49: 0x29, 0x69: 0x29, - 0x4A: 0x2A, 0x6A: 0x2A, - 0x4B: 0x2B, 0x6B: 0x2B, - 0x4C: 0x2C, 0x6C: 0x2C, - 0x4D: 0x2D, 0x6D: 0x2D, - 0x59: 0x39, 0x79: 0x39, - 0x5A: 0x3A, 0x7A: 0x3A, - 0x5B: 0x3B, 0x7B: 0x3B, - 0x5C: 0x3C, 0x7C: 0x3C, - 0x5D: 0x3D, 0x7D: 0x3D + /*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20, + /*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21, + /*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22, + /*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23, + /*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24, + /*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25, + /*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26, + /*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27, + /*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28, + /*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29, + /*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A, + /*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B, + /*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C, + /*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D, + /*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39, + /*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A, + /*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B, + /*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C, + /*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); var Ptg18 = {}; var Ptg19 = { - 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, - 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, + /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, + /*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, + /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, + /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, + /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, + /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + /*::[*/0xFF/*::]*/: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); - blob.read_shift(1); - var chn = blob.read_shift(4); + if(opts.biff != 2) { + blob.read_shift(1); + if(opts.biff >= 5) { + var chn = blob.read_shift(4); + } + } var cbf = ""; - if(opts.biff === 5) blob.l += length-20; + if(opts.biff < 5) blob.l += length-16; + else if(opts.biff === 5) blob.l += length-20; else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -461,6 +467,7 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } + return []; } /* 2.5.198.103 */ diff --git a/bits/64_ftab.js b/bits/64_ftab.js index 50e344b..1bf7124 100644 --- a/bits/64_ftab.js +++ b/bits/64_ftab.js @@ -1,970 +1,970 @@ /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { - 0x1: "REFERENCE", // reference to range - 0x2: "VALUE", // single value - 0x3: "ARRAY" // array of values + /*::[*/0x1/*::]*/: "REFERENCE", // reference to range + /*::[*/0x2/*::]*/: "VALUE", // single value + /*::[*/0x3/*::]*/: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { - 0x0000: 'BEEP', - 0x0001: 'OPEN', - 0x0002: 'OPEN.LINKS', - 0x0003: 'CLOSE.ALL', - 0x0004: 'SAVE', - 0x0005: 'SAVE.AS', - 0x0006: 'FILE.DELETE', - 0x0007: 'PAGE.SETUP', - 0x0008: 'PRINT', - 0x0009: 'PRINTER.SETUP', - 0x000A: 'QUIT', - 0x000B: 'NEW.WINDOW', - 0x000C: 'ARRANGE.ALL', - 0x000D: 'WINDOW.SIZE', - 0x000E: 'WINDOW.MOVE', - 0x000F: 'FULL', - 0x0010: 'CLOSE', - 0x0011: 'RUN', - 0x0016: 'SET.PRINT.AREA', - 0x0017: 'SET.PRINT.TITLES', - 0x0018: 'SET.PAGE.BREAK', - 0x0019: 'REMOVE.PAGE.BREAK', - 0x001A: 'FONT', - 0x001B: 'DISPLAY', - 0x001C: 'PROTECT.DOCUMENT', - 0x001D: 'PRECISION', - 0x001E: 'A1.R1C1', - 0x001F: 'CALCULATE.NOW', - 0x0020: 'CALCULATION', - 0x0022: 'DATA.FIND', - 0x0023: 'EXTRACT', - 0x0024: 'DATA.DELETE', - 0x0025: 'SET.DATABASE', - 0x0026: 'SET.CRITERIA', - 0x0027: 'SORT', - 0x0028: 'DATA.SERIES', - 0x0029: 'TABLE', - 0x002A: 'FORMAT.NUMBER', - 0x002B: 'ALIGNMENT', - 0x002C: 'STYLE', - 0x002D: 'BORDER', - 0x002E: 'CELL.PROTECTION', - 0x002F: 'COLUMN.WIDTH', - 0x0030: 'UNDO', - 0x0031: 'CUT', - 0x0032: 'COPY', - 0x0033: 'PASTE', - 0x0034: 'CLEAR', - 0x0035: 'PASTE.SPECIAL', - 0x0036: 'EDIT.DELETE', - 0x0037: 'INSERT', - 0x0038: 'FILL.RIGHT', - 0x0039: 'FILL.DOWN', - 0x003D: 'DEFINE.NAME', - 0x003E: 'CREATE.NAMES', - 0x003F: 'FORMULA.GOTO', - 0x0040: 'FORMULA.FIND', - 0x0041: 'SELECT.LAST.CELL', - 0x0042: 'SHOW.ACTIVE.CELL', - 0x0043: 'GALLERY.AREA', - 0x0044: 'GALLERY.BAR', - 0x0045: 'GALLERY.COLUMN', - 0x0046: 'GALLERY.LINE', - 0x0047: 'GALLERY.PIE', - 0x0048: 'GALLERY.SCATTER', - 0x0049: 'COMBINATION', - 0x004A: 'PREFERRED', - 0x004B: 'ADD.OVERLAY', - 0x004C: 'GRIDLINES', - 0x004D: 'SET.PREFERRED', - 0x004E: 'AXES', - 0x004F: 'LEGEND', - 0x0050: 'ATTACH.TEXT', - 0x0051: 'ADD.ARROW', - 0x0052: 'SELECT.CHART', - 0x0053: 'SELECT.PLOT.AREA', - 0x0054: 'PATTERNS', - 0x0055: 'MAIN.CHART', - 0x0056: 'OVERLAY', - 0x0057: 'SCALE', - 0x0058: 'FORMAT.LEGEND', - 0x0059: 'FORMAT.TEXT', - 0x005A: 'EDIT.REPEAT', - 0x005B: 'PARSE', - 0x005C: 'JUSTIFY', - 0x005D: 'HIDE', - 0x005E: 'UNHIDE', - 0x005F: 'WORKSPACE', - 0x0060: 'FORMULA', - 0x0061: 'FORMULA.FILL', - 0x0062: 'FORMULA.ARRAY', - 0x0063: 'DATA.FIND.NEXT', - 0x0064: 'DATA.FIND.PREV', - 0x0065: 'FORMULA.FIND.NEXT', - 0x0066: 'FORMULA.FIND.PREV', - 0x0067: 'ACTIVATE', - 0x0068: 'ACTIVATE.NEXT', - 0x0069: 'ACTIVATE.PREV', - 0x006A: 'UNLOCKED.NEXT', - 0x006B: 'UNLOCKED.PREV', - 0x006C: 'COPY.PICTURE', - 0x006D: 'SELECT', - 0x006E: 'DELETE.NAME', - 0x006F: 'DELETE.FORMAT', - 0x0070: 'VLINE', - 0x0071: 'HLINE', - 0x0072: 'VPAGE', - 0x0073: 'HPAGE', - 0x0074: 'VSCROLL', - 0x0075: 'HSCROLL', - 0x0076: 'ALERT', - 0x0077: 'NEW', - 0x0078: 'CANCEL.COPY', - 0x0079: 'SHOW.CLIPBOARD', - 0x007A: 'MESSAGE', - 0x007C: 'PASTE.LINK', - 0x007D: 'APP.ACTIVATE', - 0x007E: 'DELETE.ARROW', - 0x007F: 'ROW.HEIGHT', - 0x0080: 'FORMAT.MOVE', - 0x0081: 'FORMAT.SIZE', - 0x0082: 'FORMULA.REPLACE', - 0x0083: 'SEND.KEYS', - 0x0084: 'SELECT.SPECIAL', - 0x0085: 'APPLY.NAMES', - 0x0086: 'REPLACE.FONT', - 0x0087: 'FREEZE.PANES', - 0x0088: 'SHOW.INFO', - 0x0089: 'SPLIT', - 0x008A: 'ON.WINDOW', - 0x008B: 'ON.DATA', - 0x008C: 'DISABLE.INPUT', - 0x008E: 'OUTLINE', - 0x008F: 'LIST.NAMES', - 0x0090: 'FILE.CLOSE', - 0x0091: 'SAVE.WORKBOOK', - 0x0092: 'DATA.FORM', - 0x0093: 'COPY.CHART', - 0x0094: 'ON.TIME', - 0x0095: 'WAIT', - 0x0096: 'FORMAT.FONT', - 0x0097: 'FILL.UP', - 0x0098: 'FILL.LEFT', - 0x0099: 'DELETE.OVERLAY', - 0x009B: 'SHORT.MENUS', - 0x009F: 'SET.UPDATE.STATUS', - 0x00A1: 'COLOR.PALETTE', - 0x00A2: 'DELETE.STYLE', - 0x00A3: 'WINDOW.RESTORE', - 0x00A4: 'WINDOW.MAXIMIZE', - 0x00A6: 'CHANGE.LINK', - 0x00A7: 'CALCULATE.DOCUMENT', - 0x00A8: 'ON.KEY', - 0x00A9: 'APP.RESTORE', - 0x00AA: 'APP.MOVE', - 0x00AB: 'APP.SIZE', - 0x00AC: 'APP.MINIMIZE', - 0x00AD: 'APP.MAXIMIZE', - 0x00AE: 'BRING.TO.FRONT', - 0x00AF: 'SEND.TO.BACK', - 0x00B9: 'MAIN.CHART.TYPE', - 0x00BA: 'OVERLAY.CHART.TYPE', - 0x00BB: 'SELECT.END', - 0x00BC: 'OPEN.MAIL', - 0x00BD: 'SEND.MAIL', - 0x00BE: 'STANDARD.FONT', - 0x00BF: 'CONSOLIDATE', - 0x00C0: 'SORT.SPECIAL', - 0x00C1: 'GALLERY.3D.AREA', - 0x00C2: 'GALLERY.3D.COLUMN', - 0x00C3: 'GALLERY.3D.LINE', - 0x00C4: 'GALLERY.3D.PIE', - 0x00C5: 'VIEW.3D', - 0x00C6: 'GOAL.SEEK', - 0x00C7: 'WORKGROUP', - 0x00C8: 'FILL.GROUP', - 0x00C9: 'UPDATE.LINK', - 0x00CA: 'PROMOTE', - 0x00CB: 'DEMOTE', - 0x00CC: 'SHOW.DETAIL', - 0x00CE: 'UNGROUP', - 0x00CF: 'OBJECT.PROPERTIES', - 0x00D0: 'SAVE.NEW.OBJECT', - 0x00D1: 'SHARE', - 0x00D2: 'SHARE.NAME', - 0x00D3: 'DUPLICATE', - 0x00D4: 'APPLY.STYLE', - 0x00D5: 'ASSIGN.TO.OBJECT', - 0x00D6: 'OBJECT.PROTECTION', - 0x00D7: 'HIDE.OBJECT', - 0x00D8: 'SET.EXTRACT', - 0x00D9: 'CREATE.PUBLISHER', - 0x00DA: 'SUBSCRIBE.TO', - 0x00DB: 'ATTRIBUTES', - 0x00DC: 'SHOW.TOOLBAR', - 0x00DE: 'PRINT.PREVIEW', - 0x00DF: 'EDIT.COLOR', - 0x00E0: 'SHOW.LEVELS', - 0x00E1: 'FORMAT.MAIN', - 0x00E2: 'FORMAT.OVERLAY', - 0x00E3: 'ON.RECALC', - 0x00E4: 'EDIT.SERIES', - 0x00E5: 'DEFINE.STYLE', - 0x00F0: 'LINE.PRINT', - 0x00F3: 'ENTER.DATA', - 0x00F9: 'GALLERY.RADAR', - 0x00FA: 'MERGE.STYLES', - 0x00FB: 'EDITION.OPTIONS', - 0x00FC: 'PASTE.PICTURE', - 0x00FD: 'PASTE.PICTURE.LINK', - 0x00FE: 'SPELLING', - 0x0100: 'ZOOM', - 0x0103: 'INSERT.OBJECT', - 0x0104: 'WINDOW.MINIMIZE', - 0x0109: 'SOUND.NOTE', - 0x010A: 'SOUND.PLAY', - 0x010B: 'FORMAT.SHAPE', - 0x010C: 'EXTEND.POLYGON', - 0x010D: 'FORMAT.AUTO', - 0x0110: 'GALLERY.3D.BAR', - 0x0111: 'GALLERY.3D.SURFACE', - 0x0112: 'FILL.AUTO', - 0x0114: 'CUSTOMIZE.TOOLBAR', - 0x0115: 'ADD.TOOL', - 0x0116: 'EDIT.OBJECT', - 0x0117: 'ON.DOUBLECLICK', - 0x0118: 'ON.ENTRY', - 0x0119: 'WORKBOOK.ADD', - 0x011A: 'WORKBOOK.MOVE', - 0x011B: 'WORKBOOK.COPY', - 0x011C: 'WORKBOOK.OPTIONS', - 0x011D: 'SAVE.WORKSPACE', - 0x0120: 'CHART.WIZARD', - 0x0121: 'DELETE.TOOL', - 0x0122: 'MOVE.TOOL', - 0x0123: 'WORKBOOK.SELECT', - 0x0124: 'WORKBOOK.ACTIVATE', - 0x0125: 'ASSIGN.TO.TOOL', - 0x0127: 'COPY.TOOL', - 0x0128: 'RESET.TOOL', - 0x0129: 'CONSTRAIN.NUMERIC', - 0x012A: 'PASTE.TOOL', - 0x012E: 'WORKBOOK.NEW', - 0x0131: 'SCENARIO.CELLS', - 0x0132: 'SCENARIO.DELETE', - 0x0133: 'SCENARIO.ADD', - 0x0134: 'SCENARIO.EDIT', - 0x0135: 'SCENARIO.SHOW', - 0x0136: 'SCENARIO.SHOW.NEXT', - 0x0137: 'SCENARIO.SUMMARY', - 0x0138: 'PIVOT.TABLE.WIZARD', - 0x0139: 'PIVOT.FIELD.PROPERTIES', - 0x013A: 'PIVOT.FIELD', - 0x013B: 'PIVOT.ITEM', - 0x013C: 'PIVOT.ADD.FIELDS', - 0x013E: 'OPTIONS.CALCULATION', - 0x013F: 'OPTIONS.EDIT', - 0x0140: 'OPTIONS.VIEW', - 0x0141: 'ADDIN.MANAGER', - 0x0142: 'MENU.EDITOR', - 0x0143: 'ATTACH.TOOLBARS', - 0x0144: 'VBAActivate', - 0x0145: 'OPTIONS.CHART', - 0x0148: 'VBA.INSERT.FILE', - 0x014A: 'VBA.PROCEDURE.DEFINITION', - 0x0150: 'ROUTING.SLIP', - 0x0152: 'ROUTE.DOCUMENT', - 0x0153: 'MAIL.LOGON', - 0x0156: 'INSERT.PICTURE', - 0x0157: 'EDIT.TOOL', - 0x0158: 'GALLERY.DOUGHNUT', - 0x015E: 'CHART.TREND', - 0x0160: 'PIVOT.ITEM.PROPERTIES', - 0x0162: 'WORKBOOK.INSERT', - 0x0163: 'OPTIONS.TRANSITION', - 0x0164: 'OPTIONS.GENERAL', - 0x0172: 'FILTER.ADVANCED', - 0x0175: 'MAIL.ADD.MAILER', - 0x0176: 'MAIL.DELETE.MAILER', - 0x0177: 'MAIL.REPLY', - 0x0178: 'MAIL.REPLY.ALL', - 0x0179: 'MAIL.FORWARD', - 0x017A: 'MAIL.NEXT.LETTER', - 0x017B: 'DATA.LABEL', - 0x017C: 'INSERT.TITLE', - 0x017D: 'FONT.PROPERTIES', - 0x017E: 'MACRO.OPTIONS', - 0x017F: 'WORKBOOK.HIDE', - 0x0180: 'WORKBOOK.UNHIDE', - 0x0181: 'WORKBOOK.DELETE', - 0x0182: 'WORKBOOK.NAME', - 0x0184: 'GALLERY.CUSTOM', - 0x0186: 'ADD.CHART.AUTOFORMAT', - 0x0187: 'DELETE.CHART.AUTOFORMAT', - 0x0188: 'CHART.ADD.DATA', - 0x0189: 'AUTO.OUTLINE', - 0x018A: 'TAB.ORDER', - 0x018B: 'SHOW.DIALOG', - 0x018C: 'SELECT.ALL', - 0x018D: 'UNGROUP.SHEETS', - 0x018E: 'SUBTOTAL.CREATE', - 0x018F: 'SUBTOTAL.REMOVE', - 0x0190: 'RENAME.OBJECT', - 0x019C: 'WORKBOOK.SCROLL', - 0x019D: 'WORKBOOK.NEXT', - 0x019E: 'WORKBOOK.PREV', - 0x019F: 'WORKBOOK.TAB.SPLIT', - 0x01A0: 'FULL.SCREEN', - 0x01A1: 'WORKBOOK.PROTECT', - 0x01A4: 'SCROLLBAR.PROPERTIES', - 0x01A5: 'PIVOT.SHOW.PAGES', - 0x01A6: 'TEXT.TO.COLUMNS', - 0x01A7: 'FORMAT.CHARTTYPE', - 0x01A8: 'LINK.FORMAT', - 0x01A9: 'TRACER.DISPLAY', - 0x01AE: 'TRACER.NAVIGATE', - 0x01AF: 'TRACER.CLEAR', - 0x01B0: 'TRACER.ERROR', - 0x01B1: 'PIVOT.FIELD.GROUP', - 0x01B2: 'PIVOT.FIELD.UNGROUP', - 0x01B3: 'CHECKBOX.PROPERTIES', - 0x01B4: 'LABEL.PROPERTIES', - 0x01B5: 'LISTBOX.PROPERTIES', - 0x01B6: 'EDITBOX.PROPERTIES', - 0x01B7: 'PIVOT.REFRESH', - 0x01B8: 'LINK.COMBO', - 0x01B9: 'OPEN.TEXT', - 0x01BA: 'HIDE.DIALOG', - 0x01BB: 'SET.DIALOG.FOCUS', - 0x01BC: 'ENABLE.OBJECT', - 0x01BD: 'PUSHBUTTON.PROPERTIES', - 0x01BE: 'SET.DIALOG.DEFAULT', - 0x01BF: 'FILTER', - 0x01C0: 'FILTER.SHOW.ALL', - 0x01C1: 'CLEAR.OUTLINE', - 0x01C2: 'FUNCTION.WIZARD', - 0x01C3: 'ADD.LIST.ITEM', - 0x01C4: 'SET.LIST.ITEM', - 0x01C5: 'REMOVE.LIST.ITEM', - 0x01C6: 'SELECT.LIST.ITEM', - 0x01C7: 'SET.CONTROL.VALUE', - 0x01C8: 'SAVE.COPY.AS', - 0x01CA: 'OPTIONS.LISTS.ADD', - 0x01CB: 'OPTIONS.LISTS.DELETE', - 0x01CC: 'SERIES.AXES', - 0x01CD: 'SERIES.X', - 0x01CE: 'SERIES.Y', - 0x01CF: 'ERRORBAR.X', - 0x01D0: 'ERRORBAR.Y', - 0x01D1: 'FORMAT.CHART', - 0x01D2: 'SERIES.ORDER', - 0x01D3: 'MAIL.LOGOFF', - 0x01D4: 'CLEAR.ROUTING.SLIP', - 0x01D5: 'APP.ACTIVATE.MICROSOFT', - 0x01D6: 'MAIL.EDIT.MAILER', - 0x01D7: 'ON.SHEET', - 0x01D8: 'STANDARD.WIDTH', - 0x01D9: 'SCENARIO.MERGE', - 0x01DA: 'SUMMARY.INFO', - 0x01DB: 'FIND.FILE', - 0x01DC: 'ACTIVE.CELL.FONT', - 0x01DD: 'ENABLE.TIPWIZARD', - 0x01DE: 'VBA.MAKE.ADDIN', - 0x01E0: 'INSERTDATATABLE', - 0x01E1: 'WORKGROUP.OPTIONS', - 0x01E2: 'MAIL.SEND.MAILER', - 0x01E5: 'AUTOCORRECT', - 0x01E9: 'POST.DOCUMENT', - 0x01EB: 'PICKLIST', - 0x01ED: 'VIEW.SHOW', - 0x01EE: 'VIEW.DEFINE', - 0x01EF: 'VIEW.DELETE', - 0x01FD: 'SHEET.BACKGROUND', - 0x01FE: 'INSERT.MAP.OBJECT', - 0x01FF: 'OPTIONS.MENONO', - 0x0205: 'MSOCHECKS', - 0x0206: 'NORMAL', - 0x0207: 'LAYOUT', - 0x0208: 'RM.PRINT.AREA', - 0x0209: 'CLEAR.PRINT.AREA', - 0x020A: 'ADD.PRINT.AREA', - 0x020B: 'MOVE.BRK', - 0x0221: 'HIDECURR.NOTE', - 0x0222: 'HIDEALL.NOTES', - 0x0223: 'DELETE.NOTE', - 0x0224: 'TRAVERSE.NOTES', - 0x0225: 'ACTIVATE.NOTES', - 0x026C: 'PROTECT.REVISIONS', - 0x026D: 'UNPROTECT.REVISIONS', - 0x0287: 'OPTIONS.ME', - 0x028D: 'WEB.PUBLISH', - 0x029B: 'NEWWEBQUERY', - 0x02A1: 'PIVOT.TABLE.CHART', - 0x02F1: 'OPTIONS.SAVE', - 0x02F3: 'OPTIONS.SPELL', - 0x0328: 'HIDEALL.INKANNOTS' + /*::[*/0x0000/*::]*/: 'BEEP', + /*::[*/0x0001/*::]*/: 'OPEN', + /*::[*/0x0002/*::]*/: 'OPEN.LINKS', + /*::[*/0x0003/*::]*/: 'CLOSE.ALL', + /*::[*/0x0004/*::]*/: 'SAVE', + /*::[*/0x0005/*::]*/: 'SAVE.AS', + /*::[*/0x0006/*::]*/: 'FILE.DELETE', + /*::[*/0x0007/*::]*/: 'PAGE.SETUP', + /*::[*/0x0008/*::]*/: 'PRINT', + /*::[*/0x0009/*::]*/: 'PRINTER.SETUP', + /*::[*/0x000A/*::]*/: 'QUIT', + /*::[*/0x000B/*::]*/: 'NEW.WINDOW', + /*::[*/0x000C/*::]*/: 'ARRANGE.ALL', + /*::[*/0x000D/*::]*/: 'WINDOW.SIZE', + /*::[*/0x000E/*::]*/: 'WINDOW.MOVE', + /*::[*/0x000F/*::]*/: 'FULL', + /*::[*/0x0010/*::]*/: 'CLOSE', + /*::[*/0x0011/*::]*/: 'RUN', + /*::[*/0x0016/*::]*/: 'SET.PRINT.AREA', + /*::[*/0x0017/*::]*/: 'SET.PRINT.TITLES', + /*::[*/0x0018/*::]*/: 'SET.PAGE.BREAK', + /*::[*/0x0019/*::]*/: 'REMOVE.PAGE.BREAK', + /*::[*/0x001A/*::]*/: 'FONT', + /*::[*/0x001B/*::]*/: 'DISPLAY', + /*::[*/0x001C/*::]*/: 'PROTECT.DOCUMENT', + /*::[*/0x001D/*::]*/: 'PRECISION', + /*::[*/0x001E/*::]*/: 'A1.R1C1', + /*::[*/0x001F/*::]*/: 'CALCULATE.NOW', + /*::[*/0x0020/*::]*/: 'CALCULATION', + /*::[*/0x0022/*::]*/: 'DATA.FIND', + /*::[*/0x0023/*::]*/: 'EXTRACT', + /*::[*/0x0024/*::]*/: 'DATA.DELETE', + /*::[*/0x0025/*::]*/: 'SET.DATABASE', + /*::[*/0x0026/*::]*/: 'SET.CRITERIA', + /*::[*/0x0027/*::]*/: 'SORT', + /*::[*/0x0028/*::]*/: 'DATA.SERIES', + /*::[*/0x0029/*::]*/: 'TABLE', + /*::[*/0x002A/*::]*/: 'FORMAT.NUMBER', + /*::[*/0x002B/*::]*/: 'ALIGNMENT', + /*::[*/0x002C/*::]*/: 'STYLE', + /*::[*/0x002D/*::]*/: 'BORDER', + /*::[*/0x002E/*::]*/: 'CELL.PROTECTION', + /*::[*/0x002F/*::]*/: 'COLUMN.WIDTH', + /*::[*/0x0030/*::]*/: 'UNDO', + /*::[*/0x0031/*::]*/: 'CUT', + /*::[*/0x0032/*::]*/: 'COPY', + /*::[*/0x0033/*::]*/: 'PASTE', + /*::[*/0x0034/*::]*/: 'CLEAR', + /*::[*/0x0035/*::]*/: 'PASTE.SPECIAL', + /*::[*/0x0036/*::]*/: 'EDIT.DELETE', + /*::[*/0x0037/*::]*/: 'INSERT', + /*::[*/0x0038/*::]*/: 'FILL.RIGHT', + /*::[*/0x0039/*::]*/: 'FILL.DOWN', + /*::[*/0x003D/*::]*/: 'DEFINE.NAME', + /*::[*/0x003E/*::]*/: 'CREATE.NAMES', + /*::[*/0x003F/*::]*/: 'FORMULA.GOTO', + /*::[*/0x0040/*::]*/: 'FORMULA.FIND', + /*::[*/0x0041/*::]*/: 'SELECT.LAST.CELL', + /*::[*/0x0042/*::]*/: 'SHOW.ACTIVE.CELL', + /*::[*/0x0043/*::]*/: 'GALLERY.AREA', + /*::[*/0x0044/*::]*/: 'GALLERY.BAR', + /*::[*/0x0045/*::]*/: 'GALLERY.COLUMN', + /*::[*/0x0046/*::]*/: 'GALLERY.LINE', + /*::[*/0x0047/*::]*/: 'GALLERY.PIE', + /*::[*/0x0048/*::]*/: 'GALLERY.SCATTER', + /*::[*/0x0049/*::]*/: 'COMBINATION', + /*::[*/0x004A/*::]*/: 'PREFERRED', + /*::[*/0x004B/*::]*/: 'ADD.OVERLAY', + /*::[*/0x004C/*::]*/: 'GRIDLINES', + /*::[*/0x004D/*::]*/: 'SET.PREFERRED', + /*::[*/0x004E/*::]*/: 'AXES', + /*::[*/0x004F/*::]*/: 'LEGEND', + /*::[*/0x0050/*::]*/: 'ATTACH.TEXT', + /*::[*/0x0051/*::]*/: 'ADD.ARROW', + /*::[*/0x0052/*::]*/: 'SELECT.CHART', + /*::[*/0x0053/*::]*/: 'SELECT.PLOT.AREA', + /*::[*/0x0054/*::]*/: 'PATTERNS', + /*::[*/0x0055/*::]*/: 'MAIN.CHART', + /*::[*/0x0056/*::]*/: 'OVERLAY', + /*::[*/0x0057/*::]*/: 'SCALE', + /*::[*/0x0058/*::]*/: 'FORMAT.LEGEND', + /*::[*/0x0059/*::]*/: 'FORMAT.TEXT', + /*::[*/0x005A/*::]*/: 'EDIT.REPEAT', + /*::[*/0x005B/*::]*/: 'PARSE', + /*::[*/0x005C/*::]*/: 'JUSTIFY', + /*::[*/0x005D/*::]*/: 'HIDE', + /*::[*/0x005E/*::]*/: 'UNHIDE', + /*::[*/0x005F/*::]*/: 'WORKSPACE', + /*::[*/0x0060/*::]*/: 'FORMULA', + /*::[*/0x0061/*::]*/: 'FORMULA.FILL', + /*::[*/0x0062/*::]*/: 'FORMULA.ARRAY', + /*::[*/0x0063/*::]*/: 'DATA.FIND.NEXT', + /*::[*/0x0064/*::]*/: 'DATA.FIND.PREV', + /*::[*/0x0065/*::]*/: 'FORMULA.FIND.NEXT', + /*::[*/0x0066/*::]*/: 'FORMULA.FIND.PREV', + /*::[*/0x0067/*::]*/: 'ACTIVATE', + /*::[*/0x0068/*::]*/: 'ACTIVATE.NEXT', + /*::[*/0x0069/*::]*/: 'ACTIVATE.PREV', + /*::[*/0x006A/*::]*/: 'UNLOCKED.NEXT', + /*::[*/0x006B/*::]*/: 'UNLOCKED.PREV', + /*::[*/0x006C/*::]*/: 'COPY.PICTURE', + /*::[*/0x006D/*::]*/: 'SELECT', + /*::[*/0x006E/*::]*/: 'DELETE.NAME', + /*::[*/0x006F/*::]*/: 'DELETE.FORMAT', + /*::[*/0x0070/*::]*/: 'VLINE', + /*::[*/0x0071/*::]*/: 'HLINE', + /*::[*/0x0072/*::]*/: 'VPAGE', + /*::[*/0x0073/*::]*/: 'HPAGE', + /*::[*/0x0074/*::]*/: 'VSCROLL', + /*::[*/0x0075/*::]*/: 'HSCROLL', + /*::[*/0x0076/*::]*/: 'ALERT', + /*::[*/0x0077/*::]*/: 'NEW', + /*::[*/0x0078/*::]*/: 'CANCEL.COPY', + /*::[*/0x0079/*::]*/: 'SHOW.CLIPBOARD', + /*::[*/0x007A/*::]*/: 'MESSAGE', + /*::[*/0x007C/*::]*/: 'PASTE.LINK', + /*::[*/0x007D/*::]*/: 'APP.ACTIVATE', + /*::[*/0x007E/*::]*/: 'DELETE.ARROW', + /*::[*/0x007F/*::]*/: 'ROW.HEIGHT', + /*::[*/0x0080/*::]*/: 'FORMAT.MOVE', + /*::[*/0x0081/*::]*/: 'FORMAT.SIZE', + /*::[*/0x0082/*::]*/: 'FORMULA.REPLACE', + /*::[*/0x0083/*::]*/: 'SEND.KEYS', + /*::[*/0x0084/*::]*/: 'SELECT.SPECIAL', + /*::[*/0x0085/*::]*/: 'APPLY.NAMES', + /*::[*/0x0086/*::]*/: 'REPLACE.FONT', + /*::[*/0x0087/*::]*/: 'FREEZE.PANES', + /*::[*/0x0088/*::]*/: 'SHOW.INFO', + /*::[*/0x0089/*::]*/: 'SPLIT', + /*::[*/0x008A/*::]*/: 'ON.WINDOW', + /*::[*/0x008B/*::]*/: 'ON.DATA', + /*::[*/0x008C/*::]*/: 'DISABLE.INPUT', + /*::[*/0x008E/*::]*/: 'OUTLINE', + /*::[*/0x008F/*::]*/: 'LIST.NAMES', + /*::[*/0x0090/*::]*/: 'FILE.CLOSE', + /*::[*/0x0091/*::]*/: 'SAVE.WORKBOOK', + /*::[*/0x0092/*::]*/: 'DATA.FORM', + /*::[*/0x0093/*::]*/: 'COPY.CHART', + /*::[*/0x0094/*::]*/: 'ON.TIME', + /*::[*/0x0095/*::]*/: 'WAIT', + /*::[*/0x0096/*::]*/: 'FORMAT.FONT', + /*::[*/0x0097/*::]*/: 'FILL.UP', + /*::[*/0x0098/*::]*/: 'FILL.LEFT', + /*::[*/0x0099/*::]*/: 'DELETE.OVERLAY', + /*::[*/0x009B/*::]*/: 'SHORT.MENUS', + /*::[*/0x009F/*::]*/: 'SET.UPDATE.STATUS', + /*::[*/0x00A1/*::]*/: 'COLOR.PALETTE', + /*::[*/0x00A2/*::]*/: 'DELETE.STYLE', + /*::[*/0x00A3/*::]*/: 'WINDOW.RESTORE', + /*::[*/0x00A4/*::]*/: 'WINDOW.MAXIMIZE', + /*::[*/0x00A6/*::]*/: 'CHANGE.LINK', + /*::[*/0x00A7/*::]*/: 'CALCULATE.DOCUMENT', + /*::[*/0x00A8/*::]*/: 'ON.KEY', + /*::[*/0x00A9/*::]*/: 'APP.RESTORE', + /*::[*/0x00AA/*::]*/: 'APP.MOVE', + /*::[*/0x00AB/*::]*/: 'APP.SIZE', + /*::[*/0x00AC/*::]*/: 'APP.MINIMIZE', + /*::[*/0x00AD/*::]*/: 'APP.MAXIMIZE', + /*::[*/0x00AE/*::]*/: 'BRING.TO.FRONT', + /*::[*/0x00AF/*::]*/: 'SEND.TO.BACK', + /*::[*/0x00B9/*::]*/: 'MAIN.CHART.TYPE', + /*::[*/0x00BA/*::]*/: 'OVERLAY.CHART.TYPE', + /*::[*/0x00BB/*::]*/: 'SELECT.END', + /*::[*/0x00BC/*::]*/: 'OPEN.MAIL', + /*::[*/0x00BD/*::]*/: 'SEND.MAIL', + /*::[*/0x00BE/*::]*/: 'STANDARD.FONT', + /*::[*/0x00BF/*::]*/: 'CONSOLIDATE', + /*::[*/0x00C0/*::]*/: 'SORT.SPECIAL', + /*::[*/0x00C1/*::]*/: 'GALLERY.3D.AREA', + /*::[*/0x00C2/*::]*/: 'GALLERY.3D.COLUMN', + /*::[*/0x00C3/*::]*/: 'GALLERY.3D.LINE', + /*::[*/0x00C4/*::]*/: 'GALLERY.3D.PIE', + /*::[*/0x00C5/*::]*/: 'VIEW.3D', + /*::[*/0x00C6/*::]*/: 'GOAL.SEEK', + /*::[*/0x00C7/*::]*/: 'WORKGROUP', + /*::[*/0x00C8/*::]*/: 'FILL.GROUP', + /*::[*/0x00C9/*::]*/: 'UPDATE.LINK', + /*::[*/0x00CA/*::]*/: 'PROMOTE', + /*::[*/0x00CB/*::]*/: 'DEMOTE', + /*::[*/0x00CC/*::]*/: 'SHOW.DETAIL', + /*::[*/0x00CE/*::]*/: 'UNGROUP', + /*::[*/0x00CF/*::]*/: 'OBJECT.PROPERTIES', + /*::[*/0x00D0/*::]*/: 'SAVE.NEW.OBJECT', + /*::[*/0x00D1/*::]*/: 'SHARE', + /*::[*/0x00D2/*::]*/: 'SHARE.NAME', + /*::[*/0x00D3/*::]*/: 'DUPLICATE', + /*::[*/0x00D4/*::]*/: 'APPLY.STYLE', + /*::[*/0x00D5/*::]*/: 'ASSIGN.TO.OBJECT', + /*::[*/0x00D6/*::]*/: 'OBJECT.PROTECTION', + /*::[*/0x00D7/*::]*/: 'HIDE.OBJECT', + /*::[*/0x00D8/*::]*/: 'SET.EXTRACT', + /*::[*/0x00D9/*::]*/: 'CREATE.PUBLISHER', + /*::[*/0x00DA/*::]*/: 'SUBSCRIBE.TO', + /*::[*/0x00DB/*::]*/: 'ATTRIBUTES', + /*::[*/0x00DC/*::]*/: 'SHOW.TOOLBAR', + /*::[*/0x00DE/*::]*/: 'PRINT.PREVIEW', + /*::[*/0x00DF/*::]*/: 'EDIT.COLOR', + /*::[*/0x00E0/*::]*/: 'SHOW.LEVELS', + /*::[*/0x00E1/*::]*/: 'FORMAT.MAIN', + /*::[*/0x00E2/*::]*/: 'FORMAT.OVERLAY', + /*::[*/0x00E3/*::]*/: 'ON.RECALC', + /*::[*/0x00E4/*::]*/: 'EDIT.SERIES', + /*::[*/0x00E5/*::]*/: 'DEFINE.STYLE', + /*::[*/0x00F0/*::]*/: 'LINE.PRINT', + /*::[*/0x00F3/*::]*/: 'ENTER.DATA', + /*::[*/0x00F9/*::]*/: 'GALLERY.RADAR', + /*::[*/0x00FA/*::]*/: 'MERGE.STYLES', + /*::[*/0x00FB/*::]*/: 'EDITION.OPTIONS', + /*::[*/0x00FC/*::]*/: 'PASTE.PICTURE', + /*::[*/0x00FD/*::]*/: 'PASTE.PICTURE.LINK', + /*::[*/0x00FE/*::]*/: 'SPELLING', + /*::[*/0x0100/*::]*/: 'ZOOM', + /*::[*/0x0103/*::]*/: 'INSERT.OBJECT', + /*::[*/0x0104/*::]*/: 'WINDOW.MINIMIZE', + /*::[*/0x0109/*::]*/: 'SOUND.NOTE', + /*::[*/0x010A/*::]*/: 'SOUND.PLAY', + /*::[*/0x010B/*::]*/: 'FORMAT.SHAPE', + /*::[*/0x010C/*::]*/: 'EXTEND.POLYGON', + /*::[*/0x010D/*::]*/: 'FORMAT.AUTO', + /*::[*/0x0110/*::]*/: 'GALLERY.3D.BAR', + /*::[*/0x0111/*::]*/: 'GALLERY.3D.SURFACE', + /*::[*/0x0112/*::]*/: 'FILL.AUTO', + /*::[*/0x0114/*::]*/: 'CUSTOMIZE.TOOLBAR', + /*::[*/0x0115/*::]*/: 'ADD.TOOL', + /*::[*/0x0116/*::]*/: 'EDIT.OBJECT', + /*::[*/0x0117/*::]*/: 'ON.DOUBLECLICK', + /*::[*/0x0118/*::]*/: 'ON.ENTRY', + /*::[*/0x0119/*::]*/: 'WORKBOOK.ADD', + /*::[*/0x011A/*::]*/: 'WORKBOOK.MOVE', + /*::[*/0x011B/*::]*/: 'WORKBOOK.COPY', + /*::[*/0x011C/*::]*/: 'WORKBOOK.OPTIONS', + /*::[*/0x011D/*::]*/: 'SAVE.WORKSPACE', + /*::[*/0x0120/*::]*/: 'CHART.WIZARD', + /*::[*/0x0121/*::]*/: 'DELETE.TOOL', + /*::[*/0x0122/*::]*/: 'MOVE.TOOL', + /*::[*/0x0123/*::]*/: 'WORKBOOK.SELECT', + /*::[*/0x0124/*::]*/: 'WORKBOOK.ACTIVATE', + /*::[*/0x0125/*::]*/: 'ASSIGN.TO.TOOL', + /*::[*/0x0127/*::]*/: 'COPY.TOOL', + /*::[*/0x0128/*::]*/: 'RESET.TOOL', + /*::[*/0x0129/*::]*/: 'CONSTRAIN.NUMERIC', + /*::[*/0x012A/*::]*/: 'PASTE.TOOL', + /*::[*/0x012E/*::]*/: 'WORKBOOK.NEW', + /*::[*/0x0131/*::]*/: 'SCENARIO.CELLS', + /*::[*/0x0132/*::]*/: 'SCENARIO.DELETE', + /*::[*/0x0133/*::]*/: 'SCENARIO.ADD', + /*::[*/0x0134/*::]*/: 'SCENARIO.EDIT', + /*::[*/0x0135/*::]*/: 'SCENARIO.SHOW', + /*::[*/0x0136/*::]*/: 'SCENARIO.SHOW.NEXT', + /*::[*/0x0137/*::]*/: 'SCENARIO.SUMMARY', + /*::[*/0x0138/*::]*/: 'PIVOT.TABLE.WIZARD', + /*::[*/0x0139/*::]*/: 'PIVOT.FIELD.PROPERTIES', + /*::[*/0x013A/*::]*/: 'PIVOT.FIELD', + /*::[*/0x013B/*::]*/: 'PIVOT.ITEM', + /*::[*/0x013C/*::]*/: 'PIVOT.ADD.FIELDS', + /*::[*/0x013E/*::]*/: 'OPTIONS.CALCULATION', + /*::[*/0x013F/*::]*/: 'OPTIONS.EDIT', + /*::[*/0x0140/*::]*/: 'OPTIONS.VIEW', + /*::[*/0x0141/*::]*/: 'ADDIN.MANAGER', + /*::[*/0x0142/*::]*/: 'MENU.EDITOR', + /*::[*/0x0143/*::]*/: 'ATTACH.TOOLBARS', + /*::[*/0x0144/*::]*/: 'VBAActivate', + /*::[*/0x0145/*::]*/: 'OPTIONS.CHART', + /*::[*/0x0148/*::]*/: 'VBA.INSERT.FILE', + /*::[*/0x014A/*::]*/: 'VBA.PROCEDURE.DEFINITION', + /*::[*/0x0150/*::]*/: 'ROUTING.SLIP', + /*::[*/0x0152/*::]*/: 'ROUTE.DOCUMENT', + /*::[*/0x0153/*::]*/: 'MAIL.LOGON', + /*::[*/0x0156/*::]*/: 'INSERT.PICTURE', + /*::[*/0x0157/*::]*/: 'EDIT.TOOL', + /*::[*/0x0158/*::]*/: 'GALLERY.DOUGHNUT', + /*::[*/0x015E/*::]*/: 'CHART.TREND', + /*::[*/0x0160/*::]*/: 'PIVOT.ITEM.PROPERTIES', + /*::[*/0x0162/*::]*/: 'WORKBOOK.INSERT', + /*::[*/0x0163/*::]*/: 'OPTIONS.TRANSITION', + /*::[*/0x0164/*::]*/: 'OPTIONS.GENERAL', + /*::[*/0x0172/*::]*/: 'FILTER.ADVANCED', + /*::[*/0x0175/*::]*/: 'MAIL.ADD.MAILER', + /*::[*/0x0176/*::]*/: 'MAIL.DELETE.MAILER', + /*::[*/0x0177/*::]*/: 'MAIL.REPLY', + /*::[*/0x0178/*::]*/: 'MAIL.REPLY.ALL', + /*::[*/0x0179/*::]*/: 'MAIL.FORWARD', + /*::[*/0x017A/*::]*/: 'MAIL.NEXT.LETTER', + /*::[*/0x017B/*::]*/: 'DATA.LABEL', + /*::[*/0x017C/*::]*/: 'INSERT.TITLE', + /*::[*/0x017D/*::]*/: 'FONT.PROPERTIES', + /*::[*/0x017E/*::]*/: 'MACRO.OPTIONS', + /*::[*/0x017F/*::]*/: 'WORKBOOK.HIDE', + /*::[*/0x0180/*::]*/: 'WORKBOOK.UNHIDE', + /*::[*/0x0181/*::]*/: 'WORKBOOK.DELETE', + /*::[*/0x0182/*::]*/: 'WORKBOOK.NAME', + /*::[*/0x0184/*::]*/: 'GALLERY.CUSTOM', + /*::[*/0x0186/*::]*/: 'ADD.CHART.AUTOFORMAT', + /*::[*/0x0187/*::]*/: 'DELETE.CHART.AUTOFORMAT', + /*::[*/0x0188/*::]*/: 'CHART.ADD.DATA', + /*::[*/0x0189/*::]*/: 'AUTO.OUTLINE', + /*::[*/0x018A/*::]*/: 'TAB.ORDER', + /*::[*/0x018B/*::]*/: 'SHOW.DIALOG', + /*::[*/0x018C/*::]*/: 'SELECT.ALL', + /*::[*/0x018D/*::]*/: 'UNGROUP.SHEETS', + /*::[*/0x018E/*::]*/: 'SUBTOTAL.CREATE', + /*::[*/0x018F/*::]*/: 'SUBTOTAL.REMOVE', + /*::[*/0x0190/*::]*/: 'RENAME.OBJECT', + /*::[*/0x019C/*::]*/: 'WORKBOOK.SCROLL', + /*::[*/0x019D/*::]*/: 'WORKBOOK.NEXT', + /*::[*/0x019E/*::]*/: 'WORKBOOK.PREV', + /*::[*/0x019F/*::]*/: 'WORKBOOK.TAB.SPLIT', + /*::[*/0x01A0/*::]*/: 'FULL.SCREEN', + /*::[*/0x01A1/*::]*/: 'WORKBOOK.PROTECT', + /*::[*/0x01A4/*::]*/: 'SCROLLBAR.PROPERTIES', + /*::[*/0x01A5/*::]*/: 'PIVOT.SHOW.PAGES', + /*::[*/0x01A6/*::]*/: 'TEXT.TO.COLUMNS', + /*::[*/0x01A7/*::]*/: 'FORMAT.CHARTTYPE', + /*::[*/0x01A8/*::]*/: 'LINK.FORMAT', + /*::[*/0x01A9/*::]*/: 'TRACER.DISPLAY', + /*::[*/0x01AE/*::]*/: 'TRACER.NAVIGATE', + /*::[*/0x01AF/*::]*/: 'TRACER.CLEAR', + /*::[*/0x01B0/*::]*/: 'TRACER.ERROR', + /*::[*/0x01B1/*::]*/: 'PIVOT.FIELD.GROUP', + /*::[*/0x01B2/*::]*/: 'PIVOT.FIELD.UNGROUP', + /*::[*/0x01B3/*::]*/: 'CHECKBOX.PROPERTIES', + /*::[*/0x01B4/*::]*/: 'LABEL.PROPERTIES', + /*::[*/0x01B5/*::]*/: 'LISTBOX.PROPERTIES', + /*::[*/0x01B6/*::]*/: 'EDITBOX.PROPERTIES', + /*::[*/0x01B7/*::]*/: 'PIVOT.REFRESH', + /*::[*/0x01B8/*::]*/: 'LINK.COMBO', + /*::[*/0x01B9/*::]*/: 'OPEN.TEXT', + /*::[*/0x01BA/*::]*/: 'HIDE.DIALOG', + /*::[*/0x01BB/*::]*/: 'SET.DIALOG.FOCUS', + /*::[*/0x01BC/*::]*/: 'ENABLE.OBJECT', + /*::[*/0x01BD/*::]*/: 'PUSHBUTTON.PROPERTIES', + /*::[*/0x01BE/*::]*/: 'SET.DIALOG.DEFAULT', + /*::[*/0x01BF/*::]*/: 'FILTER', + /*::[*/0x01C0/*::]*/: 'FILTER.SHOW.ALL', + /*::[*/0x01C1/*::]*/: 'CLEAR.OUTLINE', + /*::[*/0x01C2/*::]*/: 'FUNCTION.WIZARD', + /*::[*/0x01C3/*::]*/: 'ADD.LIST.ITEM', + /*::[*/0x01C4/*::]*/: 'SET.LIST.ITEM', + /*::[*/0x01C5/*::]*/: 'REMOVE.LIST.ITEM', + /*::[*/0x01C6/*::]*/: 'SELECT.LIST.ITEM', + /*::[*/0x01C7/*::]*/: 'SET.CONTROL.VALUE', + /*::[*/0x01C8/*::]*/: 'SAVE.COPY.AS', + /*::[*/0x01CA/*::]*/: 'OPTIONS.LISTS.ADD', + /*::[*/0x01CB/*::]*/: 'OPTIONS.LISTS.DELETE', + /*::[*/0x01CC/*::]*/: 'SERIES.AXES', + /*::[*/0x01CD/*::]*/: 'SERIES.X', + /*::[*/0x01CE/*::]*/: 'SERIES.Y', + /*::[*/0x01CF/*::]*/: 'ERRORBAR.X', + /*::[*/0x01D0/*::]*/: 'ERRORBAR.Y', + /*::[*/0x01D1/*::]*/: 'FORMAT.CHART', + /*::[*/0x01D2/*::]*/: 'SERIES.ORDER', + /*::[*/0x01D3/*::]*/: 'MAIL.LOGOFF', + /*::[*/0x01D4/*::]*/: 'CLEAR.ROUTING.SLIP', + /*::[*/0x01D5/*::]*/: 'APP.ACTIVATE.MICROSOFT', + /*::[*/0x01D6/*::]*/: 'MAIL.EDIT.MAILER', + /*::[*/0x01D7/*::]*/: 'ON.SHEET', + /*::[*/0x01D8/*::]*/: 'STANDARD.WIDTH', + /*::[*/0x01D9/*::]*/: 'SCENARIO.MERGE', + /*::[*/0x01DA/*::]*/: 'SUMMARY.INFO', + /*::[*/0x01DB/*::]*/: 'FIND.FILE', + /*::[*/0x01DC/*::]*/: 'ACTIVE.CELL.FONT', + /*::[*/0x01DD/*::]*/: 'ENABLE.TIPWIZARD', + /*::[*/0x01DE/*::]*/: 'VBA.MAKE.ADDIN', + /*::[*/0x01E0/*::]*/: 'INSERTDATATABLE', + /*::[*/0x01E1/*::]*/: 'WORKGROUP.OPTIONS', + /*::[*/0x01E2/*::]*/: 'MAIL.SEND.MAILER', + /*::[*/0x01E5/*::]*/: 'AUTOCORRECT', + /*::[*/0x01E9/*::]*/: 'POST.DOCUMENT', + /*::[*/0x01EB/*::]*/: 'PICKLIST', + /*::[*/0x01ED/*::]*/: 'VIEW.SHOW', + /*::[*/0x01EE/*::]*/: 'VIEW.DEFINE', + /*::[*/0x01EF/*::]*/: 'VIEW.DELETE', + /*::[*/0x01FD/*::]*/: 'SHEET.BACKGROUND', + /*::[*/0x01FE/*::]*/: 'INSERT.MAP.OBJECT', + /*::[*/0x01FF/*::]*/: 'OPTIONS.MENONO', + /*::[*/0x0205/*::]*/: 'MSOCHECKS', + /*::[*/0x0206/*::]*/: 'NORMAL', + /*::[*/0x0207/*::]*/: 'LAYOUT', + /*::[*/0x0208/*::]*/: 'RM.PRINT.AREA', + /*::[*/0x0209/*::]*/: 'CLEAR.PRINT.AREA', + /*::[*/0x020A/*::]*/: 'ADD.PRINT.AREA', + /*::[*/0x020B/*::]*/: 'MOVE.BRK', + /*::[*/0x0221/*::]*/: 'HIDECURR.NOTE', + /*::[*/0x0222/*::]*/: 'HIDEALL.NOTES', + /*::[*/0x0223/*::]*/: 'DELETE.NOTE', + /*::[*/0x0224/*::]*/: 'TRAVERSE.NOTES', + /*::[*/0x0225/*::]*/: 'ACTIVATE.NOTES', + /*::[*/0x026C/*::]*/: 'PROTECT.REVISIONS', + /*::[*/0x026D/*::]*/: 'UNPROTECT.REVISIONS', + /*::[*/0x0287/*::]*/: 'OPTIONS.ME', + /*::[*/0x028D/*::]*/: 'WEB.PUBLISH', + /*::[*/0x029B/*::]*/: 'NEWWEBQUERY', + /*::[*/0x02A1/*::]*/: 'PIVOT.TABLE.CHART', + /*::[*/0x02F1/*::]*/: 'OPTIONS.SAVE', + /*::[*/0x02F3/*::]*/: 'OPTIONS.SPELL', + /*::[*/0x0328/*::]*/: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ var Ftab = { - 0x0000: 'COUNT', - 0x0001: 'IF', - 0x0002: 'ISNA', - 0x0003: 'ISERROR', - 0x0004: 'SUM', - 0x0005: 'AVERAGE', - 0x0006: 'MIN', - 0x0007: 'MAX', - 0x0008: 'ROW', - 0x0009: 'COLUMN', - 0x000A: 'NA', - 0x000B: 'NPV', - 0x000C: 'STDEV', - 0x000D: 'DOLLAR', - 0x000E: 'FIXED', - 0x000F: 'SIN', - 0x0010: 'COS', - 0x0011: 'TAN', - 0x0012: 'ATAN', - 0x0013: 'PI', - 0x0014: 'SQRT', - 0x0015: 'EXP', - 0x0016: 'LN', - 0x0017: 'LOG10', - 0x0018: 'ABS', - 0x0019: 'INT', - 0x001A: 'SIGN', - 0x001B: 'ROUND', - 0x001C: 'LOOKUP', - 0x001D: 'INDEX', - 0x001E: 'REPT', - 0x001F: 'MID', - 0x0020: 'LEN', - 0x0021: 'VALUE', - 0x0022: 'TRUE', - 0x0023: 'FALSE', - 0x0024: 'AND', - 0x0025: 'OR', - 0x0026: 'NOT', - 0x0027: 'MOD', - 0x0028: 'DCOUNT', - 0x0029: 'DSUM', - 0x002A: 'DAVERAGE', - 0x002B: 'DMIN', - 0x002C: 'DMAX', - 0x002D: 'DSTDEV', - 0x002E: 'VAR', - 0x002F: 'DVAR', - 0x0030: 'TEXT', - 0x0031: 'LINEST', - 0x0032: 'TREND', - 0x0033: 'LOGEST', - 0x0034: 'GROWTH', - 0x0035: 'GOTO', - 0x0036: 'HALT', - 0x0037: 'RETURN', - 0x0038: 'PV', - 0x0039: 'FV', - 0x003A: 'NPER', - 0x003B: 'PMT', - 0x003C: 'RATE', - 0x003D: 'MIRR', - 0x003E: 'IRR', - 0x003F: 'RAND', - 0x0040: 'MATCH', - 0x0041: 'DATE', - 0x0042: 'TIME', - 0x0043: 'DAY', - 0x0044: 'MONTH', - 0x0045: 'YEAR', - 0x0046: 'WEEKDAY', - 0x0047: 'HOUR', - 0x0048: 'MINUTE', - 0x0049: 'SECOND', - 0x004A: 'NOW', - 0x004B: 'AREAS', - 0x004C: 'ROWS', - 0x004D: 'COLUMNS', - 0x004E: 'OFFSET', - 0x004F: 'ABSREF', - 0x0050: 'RELREF', - 0x0051: 'ARGUMENT', - 0x0052: 'SEARCH', - 0x0053: 'TRANSPOSE', - 0x0054: 'ERROR', - 0x0055: 'STEP', - 0x0056: 'TYPE', - 0x0057: 'ECHO', - 0x0058: 'SET.NAME', - 0x0059: 'CALLER', - 0x005A: 'DEREF', - 0x005B: 'WINDOWS', - 0x005C: 'SERIES', - 0x005D: 'DOCUMENTS', - 0x005E: 'ACTIVE.CELL', - 0x005F: 'SELECTION', - 0x0060: 'RESULT', - 0x0061: 'ATAN2', - 0x0062: 'ASIN', - 0x0063: 'ACOS', - 0x0064: 'CHOOSE', - 0x0065: 'HLOOKUP', - 0x0066: 'VLOOKUP', - 0x0067: 'LINKS', - 0x0068: 'INPUT', - 0x0069: 'ISREF', - 0x006A: 'GET.FORMULA', - 0x006B: 'GET.NAME', - 0x006C: 'SET.VALUE', - 0x006D: 'LOG', - 0x006E: 'EXEC', - 0x006F: 'CHAR', - 0x0070: 'LOWER', - 0x0071: 'UPPER', - 0x0072: 'PROPER', - 0x0073: 'LEFT', - 0x0074: 'RIGHT', - 0x0075: 'EXACT', - 0x0076: 'TRIM', - 0x0077: 'REPLACE', - 0x0078: 'SUBSTITUTE', - 0x0079: 'CODE', - 0x007A: 'NAMES', - 0x007B: 'DIRECTORY', - 0x007C: 'FIND', - 0x007D: 'CELL', - 0x007E: 'ISERR', - 0x007F: 'ISTEXT', - 0x0080: 'ISNUMBER', - 0x0081: 'ISBLANK', - 0x0082: 'T', - 0x0083: 'N', - 0x0084: 'FOPEN', - 0x0085: 'FCLOSE', - 0x0086: 'FSIZE', - 0x0087: 'FREADLN', - 0x0088: 'FREAD', - 0x0089: 'FWRITELN', - 0x008A: 'FWRITE', - 0x008B: 'FPOS', - 0x008C: 'DATEVALUE', - 0x008D: 'TIMEVALUE', - 0x008E: 'SLN', - 0x008F: 'SYD', - 0x0090: 'DDB', - 0x0091: 'GET.DEF', - 0x0092: 'REFTEXT', - 0x0093: 'TEXTREF', - 0x0094: 'INDIRECT', - 0x0095: 'REGISTER', - 0x0096: 'CALL', - 0x0097: 'ADD.BAR', - 0x0098: 'ADD.MENU', - 0x0099: 'ADD.COMMAND', - 0x009A: 'ENABLE.COMMAND', - 0x009B: 'CHECK.COMMAND', - 0x009C: 'RENAME.COMMAND', - 0x009D: 'SHOW.BAR', - 0x009E: 'DELETE.MENU', - 0x009F: 'DELETE.COMMAND', - 0x00A0: 'GET.CHART.ITEM', - 0x00A1: 'DIALOG.BOX', - 0x00A2: 'CLEAN', - 0x00A3: 'MDETERM', - 0x00A4: 'MINVERSE', - 0x00A5: 'MMULT', - 0x00A6: 'FILES', - 0x00A7: 'IPMT', - 0x00A8: 'PPMT', - 0x00A9: 'COUNTA', - 0x00AA: 'CANCEL.KEY', - 0x00AB: 'FOR', - 0x00AC: 'WHILE', - 0x00AD: 'BREAK', - 0x00AE: 'NEXT', - 0x00AF: 'INITIATE', - 0x00B0: 'REQUEST', - 0x00B1: 'POKE', - 0x00B2: 'EXECUTE', - 0x00B3: 'TERMINATE', - 0x00B4: 'RESTART', - 0x00B5: 'HELP', - 0x00B6: 'GET.BAR', - 0x00B7: 'PRODUCT', - 0x00B8: 'FACT', - 0x00B9: 'GET.CELL', - 0x00BA: 'GET.WORKSPACE', - 0x00BB: 'GET.WINDOW', - 0x00BC: 'GET.DOCUMENT', - 0x00BD: 'DPRODUCT', - 0x00BE: 'ISNONTEXT', - 0x00BF: 'GET.NOTE', - 0x00C0: 'NOTE', - 0x00C1: 'STDEVP', - 0x00C2: 'VARP', - 0x00C3: 'DSTDEVP', - 0x00C4: 'DVARP', - 0x00C5: 'TRUNC', - 0x00C6: 'ISLOGICAL', - 0x00C7: 'DCOUNTA', - 0x00C8: 'DELETE.BAR', - 0x00C9: 'UNREGISTER', - 0x00CC: 'USDOLLAR', - 0x00CD: 'FINDB', - 0x00CE: 'SEARCHB', - 0x00CF: 'REPLACEB', - 0x00D0: 'LEFTB', - 0x00D1: 'RIGHTB', - 0x00D2: 'MIDB', - 0x00D3: 'LENB', - 0x00D4: 'ROUNDUP', - 0x00D5: 'ROUNDDOWN', - 0x00D6: 'ASC', - 0x00D7: 'DBCS', - 0x00D8: 'RANK', - 0x00DB: 'ADDRESS', - 0x00DC: 'DAYS360', - 0x00DD: 'TODAY', - 0x00DE: 'VDB', - 0x00DF: 'ELSE', - 0x00E0: 'ELSE.IF', - 0x00E1: 'END.IF', - 0x00E2: 'FOR.CELL', - 0x00E3: 'MEDIAN', - 0x00E4: 'SUMPRODUCT', - 0x00E5: 'SINH', - 0x00E6: 'COSH', - 0x00E7: 'TANH', - 0x00E8: 'ASINH', - 0x00E9: 'ACOSH', - 0x00EA: 'ATANH', - 0x00EB: 'DGET', - 0x00EC: 'CREATE.OBJECT', - 0x00ED: 'VOLATILE', - 0x00EE: 'LAST.ERROR', - 0x00EF: 'CUSTOM.UNDO', - 0x00F0: 'CUSTOM.REPEAT', - 0x00F1: 'FORMULA.CONVERT', - 0x00F2: 'GET.LINK.INFO', - 0x00F3: 'TEXT.BOX', - 0x00F4: 'INFO', - 0x00F5: 'GROUP', - 0x00F6: 'GET.OBJECT', - 0x00F7: 'DB', - 0x00F8: 'PAUSE', - 0x00FB: 'RESUME', - 0x00FC: 'FREQUENCY', - 0x00FD: 'ADD.TOOLBAR', - 0x00FE: 'DELETE.TOOLBAR', - 0x00FF: 'User', - 0x0100: 'RESET.TOOLBAR', - 0x0101: 'EVALUATE', - 0x0102: 'GET.TOOLBAR', - 0x0103: 'GET.TOOL', - 0x0104: 'SPELLING.CHECK', - 0x0105: 'ERROR.TYPE', - 0x0106: 'APP.TITLE', - 0x0107: 'WINDOW.TITLE', - 0x0108: 'SAVE.TOOLBAR', - 0x0109: 'ENABLE.TOOL', - 0x010A: 'PRESS.TOOL', - 0x010B: 'REGISTER.ID', - 0x010C: 'GET.WORKBOOK', - 0x010D: 'AVEDEV', - 0x010E: 'BETADIST', - 0x010F: 'GAMMALN', - 0x0110: 'BETAINV', - 0x0111: 'BINOMDIST', - 0x0112: 'CHIDIST', - 0x0113: 'CHIINV', - 0x0114: 'COMBIN', - 0x0115: 'CONFIDENCE', - 0x0116: 'CRITBINOM', - 0x0117: 'EVEN', - 0x0118: 'EXPONDIST', - 0x0119: 'FDIST', - 0x011A: 'FINV', - 0x011B: 'FISHER', - 0x011C: 'FISHERINV', - 0x011D: 'FLOOR', - 0x011E: 'GAMMADIST', - 0x011F: 'GAMMAINV', - 0x0120: 'CEILING', - 0x0121: 'HYPGEOMDIST', - 0x0122: 'LOGNORMDIST', - 0x0123: 'LOGINV', - 0x0124: 'NEGBINOMDIST', - 0x0125: 'NORMDIST', - 0x0126: 'NORMSDIST', - 0x0127: 'NORMINV', - 0x0128: 'NORMSINV', - 0x0129: 'STANDARDIZE', - 0x012A: 'ODD', - 0x012B: 'PERMUT', - 0x012C: 'POISSON', - 0x012D: 'TDIST', - 0x012E: 'WEIBULL', - 0x012F: 'SUMXMY2', - 0x0130: 'SUMX2MY2', - 0x0131: 'SUMX2PY2', - 0x0132: 'CHITEST', - 0x0133: 'CORREL', - 0x0134: 'COVAR', - 0x0135: 'FORECAST', - 0x0136: 'FTEST', - 0x0137: 'INTERCEPT', - 0x0138: 'PEARSON', - 0x0139: 'RSQ', - 0x013A: 'STEYX', - 0x013B: 'SLOPE', - 0x013C: 'TTEST', - 0x013D: 'PROB', - 0x013E: 'DEVSQ', - 0x013F: 'GEOMEAN', - 0x0140: 'HARMEAN', - 0x0141: 'SUMSQ', - 0x0142: 'KURT', - 0x0143: 'SKEW', - 0x0144: 'ZTEST', - 0x0145: 'LARGE', - 0x0146: 'SMALL', - 0x0147: 'QUARTILE', - 0x0148: 'PERCENTILE', - 0x0149: 'PERCENTRANK', - 0x014A: 'MODE', - 0x014B: 'TRIMMEAN', - 0x014C: 'TINV', - 0x014E: 'MOVIE.COMMAND', - 0x014F: 'GET.MOVIE', - 0x0150: 'CONCATENATE', - 0x0151: 'POWER', - 0x0152: 'PIVOT.ADD.DATA', - 0x0153: 'GET.PIVOT.TABLE', - 0x0154: 'GET.PIVOT.FIELD', - 0x0155: 'GET.PIVOT.ITEM', - 0x0156: 'RADIANS', - 0x0157: 'DEGREES', - 0x0158: 'SUBTOTAL', - 0x0159: 'SUMIF', - 0x015A: 'COUNTIF', - 0x015B: 'COUNTBLANK', - 0x015C: 'SCENARIO.GET', - 0x015D: 'OPTIONS.LISTS.GET', - 0x015E: 'ISPMT', - 0x015F: 'DATEDIF', - 0x0160: 'DATESTRING', - 0x0161: 'NUMBERSTRING', - 0x0162: 'ROMAN', - 0x0163: 'OPEN.DIALOG', - 0x0164: 'SAVE.DIALOG', - 0x0165: 'VIEW.GET', - 0x0166: 'GETPIVOTDATA', - 0x0167: 'HYPERLINK', - 0x0168: 'PHONETIC', - 0x0169: 'AVERAGEA', - 0x016A: 'MAXA', - 0x016B: 'MINA', - 0x016C: 'STDEVPA', - 0x016D: 'VARPA', - 0x016E: 'STDEVA', - 0x016F: 'VARA', - 0x0170: 'BAHTTEXT', - 0x0171: 'THAIDAYOFWEEK', - 0x0172: 'THAIDIGIT', - 0x0173: 'THAIMONTHOFYEAR', - 0x0174: 'THAINUMSOUND', - 0x0175: 'THAINUMSTRING', - 0x0176: 'THAISTRINGLENGTH', - 0x0177: 'ISTHAIDIGIT', - 0x0178: 'ROUNDBAHTDOWN', - 0x0179: 'ROUNDBAHTUP', - 0x017A: 'THAIYEAR', - 0x017B: 'RTD' + /*::[*/0x0000/*::]*/: 'COUNT', + /*::[*/0x0001/*::]*/: 'IF', + /*::[*/0x0002/*::]*/: 'ISNA', + /*::[*/0x0003/*::]*/: 'ISERROR', + /*::[*/0x0004/*::]*/: 'SUM', + /*::[*/0x0005/*::]*/: 'AVERAGE', + /*::[*/0x0006/*::]*/: 'MIN', + /*::[*/0x0007/*::]*/: 'MAX', + /*::[*/0x0008/*::]*/: 'ROW', + /*::[*/0x0009/*::]*/: 'COLUMN', + /*::[*/0x000A/*::]*/: 'NA', + /*::[*/0x000B/*::]*/: 'NPV', + /*::[*/0x000C/*::]*/: 'STDEV', + /*::[*/0x000D/*::]*/: 'DOLLAR', + /*::[*/0x000E/*::]*/: 'FIXED', + /*::[*/0x000F/*::]*/: 'SIN', + /*::[*/0x0010/*::]*/: 'COS', + /*::[*/0x0011/*::]*/: 'TAN', + /*::[*/0x0012/*::]*/: 'ATAN', + /*::[*/0x0013/*::]*/: 'PI', + /*::[*/0x0014/*::]*/: 'SQRT', + /*::[*/0x0015/*::]*/: 'EXP', + /*::[*/0x0016/*::]*/: 'LN', + /*::[*/0x0017/*::]*/: 'LOG10', + /*::[*/0x0018/*::]*/: 'ABS', + /*::[*/0x0019/*::]*/: 'INT', + /*::[*/0x001A/*::]*/: 'SIGN', + /*::[*/0x001B/*::]*/: 'ROUND', + /*::[*/0x001C/*::]*/: 'LOOKUP', + /*::[*/0x001D/*::]*/: 'INDEX', + /*::[*/0x001E/*::]*/: 'REPT', + /*::[*/0x001F/*::]*/: 'MID', + /*::[*/0x0020/*::]*/: 'LEN', + /*::[*/0x0021/*::]*/: 'VALUE', + /*::[*/0x0022/*::]*/: 'TRUE', + /*::[*/0x0023/*::]*/: 'FALSE', + /*::[*/0x0024/*::]*/: 'AND', + /*::[*/0x0025/*::]*/: 'OR', + /*::[*/0x0026/*::]*/: 'NOT', + /*::[*/0x0027/*::]*/: 'MOD', + /*::[*/0x0028/*::]*/: 'DCOUNT', + /*::[*/0x0029/*::]*/: 'DSUM', + /*::[*/0x002A/*::]*/: 'DAVERAGE', + /*::[*/0x002B/*::]*/: 'DMIN', + /*::[*/0x002C/*::]*/: 'DMAX', + /*::[*/0x002D/*::]*/: 'DSTDEV', + /*::[*/0x002E/*::]*/: 'VAR', + /*::[*/0x002F/*::]*/: 'DVAR', + /*::[*/0x0030/*::]*/: 'TEXT', + /*::[*/0x0031/*::]*/: 'LINEST', + /*::[*/0x0032/*::]*/: 'TREND', + /*::[*/0x0033/*::]*/: 'LOGEST', + /*::[*/0x0034/*::]*/: 'GROWTH', + /*::[*/0x0035/*::]*/: 'GOTO', + /*::[*/0x0036/*::]*/: 'HALT', + /*::[*/0x0037/*::]*/: 'RETURN', + /*::[*/0x0038/*::]*/: 'PV', + /*::[*/0x0039/*::]*/: 'FV', + /*::[*/0x003A/*::]*/: 'NPER', + /*::[*/0x003B/*::]*/: 'PMT', + /*::[*/0x003C/*::]*/: 'RATE', + /*::[*/0x003D/*::]*/: 'MIRR', + /*::[*/0x003E/*::]*/: 'IRR', + /*::[*/0x003F/*::]*/: 'RAND', + /*::[*/0x0040/*::]*/: 'MATCH', + /*::[*/0x0041/*::]*/: 'DATE', + /*::[*/0x0042/*::]*/: 'TIME', + /*::[*/0x0043/*::]*/: 'DAY', + /*::[*/0x0044/*::]*/: 'MONTH', + /*::[*/0x0045/*::]*/: 'YEAR', + /*::[*/0x0046/*::]*/: 'WEEKDAY', + /*::[*/0x0047/*::]*/: 'HOUR', + /*::[*/0x0048/*::]*/: 'MINUTE', + /*::[*/0x0049/*::]*/: 'SECOND', + /*::[*/0x004A/*::]*/: 'NOW', + /*::[*/0x004B/*::]*/: 'AREAS', + /*::[*/0x004C/*::]*/: 'ROWS', + /*::[*/0x004D/*::]*/: 'COLUMNS', + /*::[*/0x004E/*::]*/: 'OFFSET', + /*::[*/0x004F/*::]*/: 'ABSREF', + /*::[*/0x0050/*::]*/: 'RELREF', + /*::[*/0x0051/*::]*/: 'ARGUMENT', + /*::[*/0x0052/*::]*/: 'SEARCH', + /*::[*/0x0053/*::]*/: 'TRANSPOSE', + /*::[*/0x0054/*::]*/: 'ERROR', + /*::[*/0x0055/*::]*/: 'STEP', + /*::[*/0x0056/*::]*/: 'TYPE', + /*::[*/0x0057/*::]*/: 'ECHO', + /*::[*/0x0058/*::]*/: 'SET.NAME', + /*::[*/0x0059/*::]*/: 'CALLER', + /*::[*/0x005A/*::]*/: 'DEREF', + /*::[*/0x005B/*::]*/: 'WINDOWS', + /*::[*/0x005C/*::]*/: 'SERIES', + /*::[*/0x005D/*::]*/: 'DOCUMENTS', + /*::[*/0x005E/*::]*/: 'ACTIVE.CELL', + /*::[*/0x005F/*::]*/: 'SELECTION', + /*::[*/0x0060/*::]*/: 'RESULT', + /*::[*/0x0061/*::]*/: 'ATAN2', + /*::[*/0x0062/*::]*/: 'ASIN', + /*::[*/0x0063/*::]*/: 'ACOS', + /*::[*/0x0064/*::]*/: 'CHOOSE', + /*::[*/0x0065/*::]*/: 'HLOOKUP', + /*::[*/0x0066/*::]*/: 'VLOOKUP', + /*::[*/0x0067/*::]*/: 'LINKS', + /*::[*/0x0068/*::]*/: 'INPUT', + /*::[*/0x0069/*::]*/: 'ISREF', + /*::[*/0x006A/*::]*/: 'GET.FORMULA', + /*::[*/0x006B/*::]*/: 'GET.NAME', + /*::[*/0x006C/*::]*/: 'SET.VALUE', + /*::[*/0x006D/*::]*/: 'LOG', + /*::[*/0x006E/*::]*/: 'EXEC', + /*::[*/0x006F/*::]*/: 'CHAR', + /*::[*/0x0070/*::]*/: 'LOWER', + /*::[*/0x0071/*::]*/: 'UPPER', + /*::[*/0x0072/*::]*/: 'PROPER', + /*::[*/0x0073/*::]*/: 'LEFT', + /*::[*/0x0074/*::]*/: 'RIGHT', + /*::[*/0x0075/*::]*/: 'EXACT', + /*::[*/0x0076/*::]*/: 'TRIM', + /*::[*/0x0077/*::]*/: 'REPLACE', + /*::[*/0x0078/*::]*/: 'SUBSTITUTE', + /*::[*/0x0079/*::]*/: 'CODE', + /*::[*/0x007A/*::]*/: 'NAMES', + /*::[*/0x007B/*::]*/: 'DIRECTORY', + /*::[*/0x007C/*::]*/: 'FIND', + /*::[*/0x007D/*::]*/: 'CELL', + /*::[*/0x007E/*::]*/: 'ISERR', + /*::[*/0x007F/*::]*/: 'ISTEXT', + /*::[*/0x0080/*::]*/: 'ISNUMBER', + /*::[*/0x0081/*::]*/: 'ISBLANK', + /*::[*/0x0082/*::]*/: 'T', + /*::[*/0x0083/*::]*/: 'N', + /*::[*/0x0084/*::]*/: 'FOPEN', + /*::[*/0x0085/*::]*/: 'FCLOSE', + /*::[*/0x0086/*::]*/: 'FSIZE', + /*::[*/0x0087/*::]*/: 'FREADLN', + /*::[*/0x0088/*::]*/: 'FREAD', + /*::[*/0x0089/*::]*/: 'FWRITELN', + /*::[*/0x008A/*::]*/: 'FWRITE', + /*::[*/0x008B/*::]*/: 'FPOS', + /*::[*/0x008C/*::]*/: 'DATEVALUE', + /*::[*/0x008D/*::]*/: 'TIMEVALUE', + /*::[*/0x008E/*::]*/: 'SLN', + /*::[*/0x008F/*::]*/: 'SYD', + /*::[*/0x0090/*::]*/: 'DDB', + /*::[*/0x0091/*::]*/: 'GET.DEF', + /*::[*/0x0092/*::]*/: 'REFTEXT', + /*::[*/0x0093/*::]*/: 'TEXTREF', + /*::[*/0x0094/*::]*/: 'INDIRECT', + /*::[*/0x0095/*::]*/: 'REGISTER', + /*::[*/0x0096/*::]*/: 'CALL', + /*::[*/0x0097/*::]*/: 'ADD.BAR', + /*::[*/0x0098/*::]*/: 'ADD.MENU', + /*::[*/0x0099/*::]*/: 'ADD.COMMAND', + /*::[*/0x009A/*::]*/: 'ENABLE.COMMAND', + /*::[*/0x009B/*::]*/: 'CHECK.COMMAND', + /*::[*/0x009C/*::]*/: 'RENAME.COMMAND', + /*::[*/0x009D/*::]*/: 'SHOW.BAR', + /*::[*/0x009E/*::]*/: 'DELETE.MENU', + /*::[*/0x009F/*::]*/: 'DELETE.COMMAND', + /*::[*/0x00A0/*::]*/: 'GET.CHART.ITEM', + /*::[*/0x00A1/*::]*/: 'DIALOG.BOX', + /*::[*/0x00A2/*::]*/: 'CLEAN', + /*::[*/0x00A3/*::]*/: 'MDETERM', + /*::[*/0x00A4/*::]*/: 'MINVERSE', + /*::[*/0x00A5/*::]*/: 'MMULT', + /*::[*/0x00A6/*::]*/: 'FILES', + /*::[*/0x00A7/*::]*/: 'IPMT', + /*::[*/0x00A8/*::]*/: 'PPMT', + /*::[*/0x00A9/*::]*/: 'COUNTA', + /*::[*/0x00AA/*::]*/: 'CANCEL.KEY', + /*::[*/0x00AB/*::]*/: 'FOR', + /*::[*/0x00AC/*::]*/: 'WHILE', + /*::[*/0x00AD/*::]*/: 'BREAK', + /*::[*/0x00AE/*::]*/: 'NEXT', + /*::[*/0x00AF/*::]*/: 'INITIATE', + /*::[*/0x00B0/*::]*/: 'REQUEST', + /*::[*/0x00B1/*::]*/: 'POKE', + /*::[*/0x00B2/*::]*/: 'EXECUTE', + /*::[*/0x00B3/*::]*/: 'TERMINATE', + /*::[*/0x00B4/*::]*/: 'RESTART', + /*::[*/0x00B5/*::]*/: 'HELP', + /*::[*/0x00B6/*::]*/: 'GET.BAR', + /*::[*/0x00B7/*::]*/: 'PRODUCT', + /*::[*/0x00B8/*::]*/: 'FACT', + /*::[*/0x00B9/*::]*/: 'GET.CELL', + /*::[*/0x00BA/*::]*/: 'GET.WORKSPACE', + /*::[*/0x00BB/*::]*/: 'GET.WINDOW', + /*::[*/0x00BC/*::]*/: 'GET.DOCUMENT', + /*::[*/0x00BD/*::]*/: 'DPRODUCT', + /*::[*/0x00BE/*::]*/: 'ISNONTEXT', + /*::[*/0x00BF/*::]*/: 'GET.NOTE', + /*::[*/0x00C0/*::]*/: 'NOTE', + /*::[*/0x00C1/*::]*/: 'STDEVP', + /*::[*/0x00C2/*::]*/: 'VARP', + /*::[*/0x00C3/*::]*/: 'DSTDEVP', + /*::[*/0x00C4/*::]*/: 'DVARP', + /*::[*/0x00C5/*::]*/: 'TRUNC', + /*::[*/0x00C6/*::]*/: 'ISLOGICAL', + /*::[*/0x00C7/*::]*/: 'DCOUNTA', + /*::[*/0x00C8/*::]*/: 'DELETE.BAR', + /*::[*/0x00C9/*::]*/: 'UNREGISTER', + /*::[*/0x00CC/*::]*/: 'USDOLLAR', + /*::[*/0x00CD/*::]*/: 'FINDB', + /*::[*/0x00CE/*::]*/: 'SEARCHB', + /*::[*/0x00CF/*::]*/: 'REPLACEB', + /*::[*/0x00D0/*::]*/: 'LEFTB', + /*::[*/0x00D1/*::]*/: 'RIGHTB', + /*::[*/0x00D2/*::]*/: 'MIDB', + /*::[*/0x00D3/*::]*/: 'LENB', + /*::[*/0x00D4/*::]*/: 'ROUNDUP', + /*::[*/0x00D5/*::]*/: 'ROUNDDOWN', + /*::[*/0x00D6/*::]*/: 'ASC', + /*::[*/0x00D7/*::]*/: 'DBCS', + /*::[*/0x00D8/*::]*/: 'RANK', + /*::[*/0x00DB/*::]*/: 'ADDRESS', + /*::[*/0x00DC/*::]*/: 'DAYS360', + /*::[*/0x00DD/*::]*/: 'TODAY', + /*::[*/0x00DE/*::]*/: 'VDB', + /*::[*/0x00DF/*::]*/: 'ELSE', + /*::[*/0x00E0/*::]*/: 'ELSE.IF', + /*::[*/0x00E1/*::]*/: 'END.IF', + /*::[*/0x00E2/*::]*/: 'FOR.CELL', + /*::[*/0x00E3/*::]*/: 'MEDIAN', + /*::[*/0x00E4/*::]*/: 'SUMPRODUCT', + /*::[*/0x00E5/*::]*/: 'SINH', + /*::[*/0x00E6/*::]*/: 'COSH', + /*::[*/0x00E7/*::]*/: 'TANH', + /*::[*/0x00E8/*::]*/: 'ASINH', + /*::[*/0x00E9/*::]*/: 'ACOSH', + /*::[*/0x00EA/*::]*/: 'ATANH', + /*::[*/0x00EB/*::]*/: 'DGET', + /*::[*/0x00EC/*::]*/: 'CREATE.OBJECT', + /*::[*/0x00ED/*::]*/: 'VOLATILE', + /*::[*/0x00EE/*::]*/: 'LAST.ERROR', + /*::[*/0x00EF/*::]*/: 'CUSTOM.UNDO', + /*::[*/0x00F0/*::]*/: 'CUSTOM.REPEAT', + /*::[*/0x00F1/*::]*/: 'FORMULA.CONVERT', + /*::[*/0x00F2/*::]*/: 'GET.LINK.INFO', + /*::[*/0x00F3/*::]*/: 'TEXT.BOX', + /*::[*/0x00F4/*::]*/: 'INFO', + /*::[*/0x00F5/*::]*/: 'GROUP', + /*::[*/0x00F6/*::]*/: 'GET.OBJECT', + /*::[*/0x00F7/*::]*/: 'DB', + /*::[*/0x00F8/*::]*/: 'PAUSE', + /*::[*/0x00FB/*::]*/: 'RESUME', + /*::[*/0x00FC/*::]*/: 'FREQUENCY', + /*::[*/0x00FD/*::]*/: 'ADD.TOOLBAR', + /*::[*/0x00FE/*::]*/: 'DELETE.TOOLBAR', + /*::[*/0x00FF/*::]*/: 'User', + /*::[*/0x0100/*::]*/: 'RESET.TOOLBAR', + /*::[*/0x0101/*::]*/: 'EVALUATE', + /*::[*/0x0102/*::]*/: 'GET.TOOLBAR', + /*::[*/0x0103/*::]*/: 'GET.TOOL', + /*::[*/0x0104/*::]*/: 'SPELLING.CHECK', + /*::[*/0x0105/*::]*/: 'ERROR.TYPE', + /*::[*/0x0106/*::]*/: 'APP.TITLE', + /*::[*/0x0107/*::]*/: 'WINDOW.TITLE', + /*::[*/0x0108/*::]*/: 'SAVE.TOOLBAR', + /*::[*/0x0109/*::]*/: 'ENABLE.TOOL', + /*::[*/0x010A/*::]*/: 'PRESS.TOOL', + /*::[*/0x010B/*::]*/: 'REGISTER.ID', + /*::[*/0x010C/*::]*/: 'GET.WORKBOOK', + /*::[*/0x010D/*::]*/: 'AVEDEV', + /*::[*/0x010E/*::]*/: 'BETADIST', + /*::[*/0x010F/*::]*/: 'GAMMALN', + /*::[*/0x0110/*::]*/: 'BETAINV', + /*::[*/0x0111/*::]*/: 'BINOMDIST', + /*::[*/0x0112/*::]*/: 'CHIDIST', + /*::[*/0x0113/*::]*/: 'CHIINV', + /*::[*/0x0114/*::]*/: 'COMBIN', + /*::[*/0x0115/*::]*/: 'CONFIDENCE', + /*::[*/0x0116/*::]*/: 'CRITBINOM', + /*::[*/0x0117/*::]*/: 'EVEN', + /*::[*/0x0118/*::]*/: 'EXPONDIST', + /*::[*/0x0119/*::]*/: 'FDIST', + /*::[*/0x011A/*::]*/: 'FINV', + /*::[*/0x011B/*::]*/: 'FISHER', + /*::[*/0x011C/*::]*/: 'FISHERINV', + /*::[*/0x011D/*::]*/: 'FLOOR', + /*::[*/0x011E/*::]*/: 'GAMMADIST', + /*::[*/0x011F/*::]*/: 'GAMMAINV', + /*::[*/0x0120/*::]*/: 'CEILING', + /*::[*/0x0121/*::]*/: 'HYPGEOMDIST', + /*::[*/0x0122/*::]*/: 'LOGNORMDIST', + /*::[*/0x0123/*::]*/: 'LOGINV', + /*::[*/0x0124/*::]*/: 'NEGBINOMDIST', + /*::[*/0x0125/*::]*/: 'NORMDIST', + /*::[*/0x0126/*::]*/: 'NORMSDIST', + /*::[*/0x0127/*::]*/: 'NORMINV', + /*::[*/0x0128/*::]*/: 'NORMSINV', + /*::[*/0x0129/*::]*/: 'STANDARDIZE', + /*::[*/0x012A/*::]*/: 'ODD', + /*::[*/0x012B/*::]*/: 'PERMUT', + /*::[*/0x012C/*::]*/: 'POISSON', + /*::[*/0x012D/*::]*/: 'TDIST', + /*::[*/0x012E/*::]*/: 'WEIBULL', + /*::[*/0x012F/*::]*/: 'SUMXMY2', + /*::[*/0x0130/*::]*/: 'SUMX2MY2', + /*::[*/0x0131/*::]*/: 'SUMX2PY2', + /*::[*/0x0132/*::]*/: 'CHITEST', + /*::[*/0x0133/*::]*/: 'CORREL', + /*::[*/0x0134/*::]*/: 'COVAR', + /*::[*/0x0135/*::]*/: 'FORECAST', + /*::[*/0x0136/*::]*/: 'FTEST', + /*::[*/0x0137/*::]*/: 'INTERCEPT', + /*::[*/0x0138/*::]*/: 'PEARSON', + /*::[*/0x0139/*::]*/: 'RSQ', + /*::[*/0x013A/*::]*/: 'STEYX', + /*::[*/0x013B/*::]*/: 'SLOPE', + /*::[*/0x013C/*::]*/: 'TTEST', + /*::[*/0x013D/*::]*/: 'PROB', + /*::[*/0x013E/*::]*/: 'DEVSQ', + /*::[*/0x013F/*::]*/: 'GEOMEAN', + /*::[*/0x0140/*::]*/: 'HARMEAN', + /*::[*/0x0141/*::]*/: 'SUMSQ', + /*::[*/0x0142/*::]*/: 'KURT', + /*::[*/0x0143/*::]*/: 'SKEW', + /*::[*/0x0144/*::]*/: 'ZTEST', + /*::[*/0x0145/*::]*/: 'LARGE', + /*::[*/0x0146/*::]*/: 'SMALL', + /*::[*/0x0147/*::]*/: 'QUARTILE', + /*::[*/0x0148/*::]*/: 'PERCENTILE', + /*::[*/0x0149/*::]*/: 'PERCENTRANK', + /*::[*/0x014A/*::]*/: 'MODE', + /*::[*/0x014B/*::]*/: 'TRIMMEAN', + /*::[*/0x014C/*::]*/: 'TINV', + /*::[*/0x014E/*::]*/: 'MOVIE.COMMAND', + /*::[*/0x014F/*::]*/: 'GET.MOVIE', + /*::[*/0x0150/*::]*/: 'CONCATENATE', + /*::[*/0x0151/*::]*/: 'POWER', + /*::[*/0x0152/*::]*/: 'PIVOT.ADD.DATA', + /*::[*/0x0153/*::]*/: 'GET.PIVOT.TABLE', + /*::[*/0x0154/*::]*/: 'GET.PIVOT.FIELD', + /*::[*/0x0155/*::]*/: 'GET.PIVOT.ITEM', + /*::[*/0x0156/*::]*/: 'RADIANS', + /*::[*/0x0157/*::]*/: 'DEGREES', + /*::[*/0x0158/*::]*/: 'SUBTOTAL', + /*::[*/0x0159/*::]*/: 'SUMIF', + /*::[*/0x015A/*::]*/: 'COUNTIF', + /*::[*/0x015B/*::]*/: 'COUNTBLANK', + /*::[*/0x015C/*::]*/: 'SCENARIO.GET', + /*::[*/0x015D/*::]*/: 'OPTIONS.LISTS.GET', + /*::[*/0x015E/*::]*/: 'ISPMT', + /*::[*/0x015F/*::]*/: 'DATEDIF', + /*::[*/0x0160/*::]*/: 'DATESTRING', + /*::[*/0x0161/*::]*/: 'NUMBERSTRING', + /*::[*/0x0162/*::]*/: 'ROMAN', + /*::[*/0x0163/*::]*/: 'OPEN.DIALOG', + /*::[*/0x0164/*::]*/: 'SAVE.DIALOG', + /*::[*/0x0165/*::]*/: 'VIEW.GET', + /*::[*/0x0166/*::]*/: 'GETPIVOTDATA', + /*::[*/0x0167/*::]*/: 'HYPERLINK', + /*::[*/0x0168/*::]*/: 'PHONETIC', + /*::[*/0x0169/*::]*/: 'AVERAGEA', + /*::[*/0x016A/*::]*/: 'MAXA', + /*::[*/0x016B/*::]*/: 'MINA', + /*::[*/0x016C/*::]*/: 'STDEVPA', + /*::[*/0x016D/*::]*/: 'VARPA', + /*::[*/0x016E/*::]*/: 'STDEVA', + /*::[*/0x016F/*::]*/: 'VARA', + /*::[*/0x0170/*::]*/: 'BAHTTEXT', + /*::[*/0x0171/*::]*/: 'THAIDAYOFWEEK', + /*::[*/0x0172/*::]*/: 'THAIDIGIT', + /*::[*/0x0173/*::]*/: 'THAIMONTHOFYEAR', + /*::[*/0x0174/*::]*/: 'THAINUMSOUND', + /*::[*/0x0175/*::]*/: 'THAINUMSTRING', + /*::[*/0x0176/*::]*/: 'THAISTRINGLENGTH', + /*::[*/0x0177/*::]*/: 'ISTHAIDIGIT', + /*::[*/0x0178/*::]*/: 'ROUNDBAHTDOWN', + /*::[*/0x0179/*::]*/: 'ROUNDBAHTUP', + /*::[*/0x017A/*::]*/: 'THAIYEAR', + /*::[*/0x017B/*::]*/: 'RTD' }; var FtabArgc = { - 0x0002: 1, /* ISNA */ - 0x0003: 1, /* ISERROR */ - 0x000F: 1, /* SIN */ - 0x0010: 1, /* COS */ - 0x0011: 1, /* TAN */ - 0x0012: 1, /* ATAN */ - 0x0014: 1, /* SQRT */ - 0x0015: 1, /* EXP */ - 0x0016: 1, /* LN */ - 0x0017: 1, /* LOG10 */ - 0x0018: 1, /* ABS */ - 0x0019: 1, /* INT */ - 0x001A: 1, /* SIGN */ - 0x001B: 2, /* ROUND */ - 0x001E: 2, /* REPT */ - 0x001F: 3, /* MID */ - 0x0020: 1, /* LEN */ - 0x0021: 1, /* VALUE */ - 0x0026: 1, /* NOT */ - 0x0027: 2, /* MOD */ - 0x0028: 3, /* DCOUNT */ - 0x0029: 3, /* DSUM */ - 0x002A: 3, /* DAVERAGE */ - 0x002B: 3, /* DMIN */ - 0x002C: 3, /* DMAX */ - 0x002D: 3, /* DSTDEV */ - 0x002F: 3, /* DVAR */ - 0x0030: 2, /* TEXT */ - 0x0035: 1, /* GOTO */ - 0x003D: 3, /* MIRR */ - 0x0041: 3, /* DATE */ - 0x0042: 3, /* TIME */ - 0x0043: 1, /* DAY */ - 0x0044: 1, /* MONTH */ - 0x0045: 1, /* YEAR */ - 0x0047: 1, /* HOUR */ - 0x0048: 1, /* MINUTE */ - 0x0049: 1, /* SECOND */ - 0x004B: 1, /* AREAS */ - 0x004C: 1, /* ROWS */ - 0x004D: 1, /* COLUMNS */ - 0x004F: 2, /* ABSREF */ - 0x0050: 2, /* RELREF */ - 0x0053: 1, /* TRANSPOSE */ - 0x0056: 1, /* TYPE */ - 0x005A: 1, /* DEREF */ - 0x0061: 2, /* ATAN2 */ - 0x0062: 1, /* ASIN */ - 0x0063: 1, /* ACOS */ - 0x0069: 1, /* ISREF */ - 0x006F: 1, /* CHAR */ - 0x0070: 1, /* LOWER */ - 0x0071: 1, /* UPPER */ - 0x0072: 1, /* PROPER */ - 0x0075: 2, /* EXACT */ - 0x0076: 1, /* TRIM */ - 0x0077: 4, /* REPLACE */ - 0x0079: 1, /* CODE */ - 0x007E: 1, /* ISERR */ - 0x007F: 1, /* ISTEXT */ - 0x0080: 1, /* ISNUMBER */ - 0x0081: 1, /* ISBLANK */ - 0x0082: 1, /* T */ - 0x0083: 1, /* N */ - 0x0085: 1, /* FCLOSE */ - 0x0086: 1, /* FSIZE */ - 0x0087: 1, /* FREADLN */ - 0x0088: 2, /* FREAD */ - 0x0089: 2, /* FWRITELN */ - 0x008A: 2, /* FWRITE */ - 0x008C: 1, /* DATEVALUE */ - 0x008D: 1, /* TIMEVALUE */ - 0x008E: 3, /* SLN */ - 0x008F: 4, /* SYD */ - 0x00A2: 1, /* CLEAN */ - 0x00A3: 1, /* MDETERM */ - 0x00A4: 1, /* MINVERSE */ - 0x00A5: 2, /* MMULT */ - 0x00AC: 1, /* WHILE */ - 0x00AF: 2, /* INITIATE */ - 0x00B0: 2, /* REQUEST */ - 0x00B1: 3, /* POKE */ - 0x00B2: 2, /* EXECUTE */ - 0x00B3: 1, /* TERMINATE */ - 0x00B8: 1, /* FACT */ - 0x00BD: 3, /* DPRODUCT */ - 0x00BE: 1, /* ISNONTEXT */ - 0x00C3: 3, /* DSTDEVP */ - 0x00C4: 3, /* DVARP */ - 0x00C6: 1, /* ISLOGICAL */ - 0x00C7: 3, /* DCOUNTA */ - 0x00C9: 1, /* UNREGISTER */ - 0x00CF: 4, /* REPLACEB */ - 0x00D2: 3, /* MIDB */ - 0x00D3: 1, /* LENB */ - 0x00D4: 2, /* ROUNDUP */ - 0x00D5: 2, /* ROUNDDOWN */ - 0x00D6: 1, /* ASC */ - 0x00D7: 1, /* DBCS */ - 0x00E5: 1, /* SINH */ - 0x00E6: 1, /* COSH */ - 0x00E7: 1, /* TANH */ - 0x00E8: 1, /* ASINH */ - 0x00E9: 1, /* ACOSH */ - 0x00EA: 1, /* ATANH */ - 0x00EB: 3, /* DGET */ - 0x00F4: 1, /* INFO */ - 0x00FC: 2, /* FREQUENCY */ - 0x0101: 1, /* EVALUATE */ - 0x0105: 1, /* ERROR.TYPE */ - 0x010F: 1, /* GAMMALN */ - 0x0111: 4, /* BINOMDIST */ - 0x0112: 2, /* CHIDIST */ - 0x0113: 2, /* CHIINV */ - 0x0114: 2, /* COMBIN */ - 0x0115: 3, /* CONFIDENCE */ - 0x0116: 3, /* CRITBINOM */ - 0x0117: 1, /* EVEN */ - 0x0118: 3, /* EXPONDIST */ - 0x0119: 3, /* FDIST */ - 0x011A: 3, /* FINV */ - 0x011B: 1, /* FISHER */ - 0x011C: 1, /* FISHERINV */ - 0x011D: 2, /* FLOOR */ - 0x011E: 4, /* GAMMADIST */ - 0x011F: 3, /* GAMMAINV */ - 0x0120: 2, /* CEILING */ - 0x0121: 4, /* HYPGEOMDIST */ - 0x0122: 3, /* LOGNORMDIST */ - 0x0123: 3, /* LOGINV */ - 0x0124: 3, /* NEGBINOMDIST */ - 0x0125: 4, /* NORMDIST */ - 0x0126: 1, /* NORMSDIST */ - 0x0127: 3, /* NORMINV */ - 0x0128: 1, /* NORMSINV */ - 0x0129: 3, /* STANDARDIZE */ - 0x012A: 1, /* ODD */ - 0x012B: 2, /* PERMUT */ - 0x012C: 3, /* POISSON */ - 0x012D: 3, /* TDIST */ - 0x012E: 4, /* WEIBULL */ - 0x012F: 2, /* SUMXMY2 */ - 0x0130: 2, /* SUMX2MY2 */ - 0x0131: 2, /* SUMX2PY2 */ - 0x0132: 2, /* CHITEST */ - 0x0133: 2, /* CORREL */ - 0x0134: 2, /* COVAR */ - 0x0135: 3, /* FORECAST */ - 0x0136: 2, /* FTEST */ - 0x0137: 2, /* INTERCEPT */ - 0x0138: 2, /* PEARSON */ - 0x0139: 2, /* RSQ */ - 0x013A: 2, /* STEYX */ - 0x013B: 2, /* SLOPE */ - 0x013C: 4, /* TTEST */ - 0x0145: 2, /* LARGE */ - 0x0146: 2, /* SMALL */ - 0x0147: 2, /* QUARTILE */ - 0x0148: 2, /* PERCENTILE */ - 0x014B: 2, /* TRIMMEAN */ - 0x014C: 2, /* TINV */ - 0x0151: 2, /* POWER */ - 0x0156: 1, /* RADIANS */ - 0x0157: 1, /* DEGREES */ - 0x015A: 2, /* COUNTIF */ - 0x015B: 1, /* COUNTBLANK */ - 0x015E: 4, /* ISPMT */ - 0x015F: 3, /* DATEDIF */ - 0x0160: 1, /* DATESTRING */ - 0x0161: 2, /* NUMBERSTRING */ - 0x0168: 1, /* PHONETIC */ - 0x0170: 1, /* BAHTTEXT */ - 0x0171: 1, /* THAIDAYOFWEEK */ - 0x0172: 1, /* THAIDIGIT */ - 0x0173: 1, /* THAIMONTHOFYEAR */ - 0x0174: 1, /* THAINUMSOUND */ - 0x0175: 1, /* THAINUMSTRING */ - 0x0176: 1, /* THAISTRINGLENGTH */ - 0x0177: 1, /* ISTHAIDIGIT */ - 0x0178: 1, /* ROUNDBAHTDOWN */ - 0x0179: 1, /* ROUNDBAHTUP */ - 0x017A: 1, /* THAIYEAR */ - 0xFFFF: 0 + /*::[*/0x0002/*::]*/: 1, /* ISNA */ + /*::[*/0x0003/*::]*/: 1, /* ISERROR */ + /*::[*/0x000F/*::]*/: 1, /* SIN */ + /*::[*/0x0010/*::]*/: 1, /* COS */ + /*::[*/0x0011/*::]*/: 1, /* TAN */ + /*::[*/0x0012/*::]*/: 1, /* ATAN */ + /*::[*/0x0014/*::]*/: 1, /* SQRT */ + /*::[*/0x0015/*::]*/: 1, /* EXP */ + /*::[*/0x0016/*::]*/: 1, /* LN */ + /*::[*/0x0017/*::]*/: 1, /* LOG10 */ + /*::[*/0x0018/*::]*/: 1, /* ABS */ + /*::[*/0x0019/*::]*/: 1, /* INT */ + /*::[*/0x001A/*::]*/: 1, /* SIGN */ + /*::[*/0x001B/*::]*/: 2, /* ROUND */ + /*::[*/0x001E/*::]*/: 2, /* REPT */ + /*::[*/0x001F/*::]*/: 3, /* MID */ + /*::[*/0x0020/*::]*/: 1, /* LEN */ + /*::[*/0x0021/*::]*/: 1, /* VALUE */ + /*::[*/0x0026/*::]*/: 1, /* NOT */ + /*::[*/0x0027/*::]*/: 2, /* MOD */ + /*::[*/0x0028/*::]*/: 3, /* DCOUNT */ + /*::[*/0x0029/*::]*/: 3, /* DSUM */ + /*::[*/0x002A/*::]*/: 3, /* DAVERAGE */ + /*::[*/0x002B/*::]*/: 3, /* DMIN */ + /*::[*/0x002C/*::]*/: 3, /* DMAX */ + /*::[*/0x002D/*::]*/: 3, /* DSTDEV */ + /*::[*/0x002F/*::]*/: 3, /* DVAR */ + /*::[*/0x0030/*::]*/: 2, /* TEXT */ + /*::[*/0x0035/*::]*/: 1, /* GOTO */ + /*::[*/0x003D/*::]*/: 3, /* MIRR */ + /*::[*/0x0041/*::]*/: 3, /* DATE */ + /*::[*/0x0042/*::]*/: 3, /* TIME */ + /*::[*/0x0043/*::]*/: 1, /* DAY */ + /*::[*/0x0044/*::]*/: 1, /* MONTH */ + /*::[*/0x0045/*::]*/: 1, /* YEAR */ + /*::[*/0x0047/*::]*/: 1, /* HOUR */ + /*::[*/0x0048/*::]*/: 1, /* MINUTE */ + /*::[*/0x0049/*::]*/: 1, /* SECOND */ + /*::[*/0x004B/*::]*/: 1, /* AREAS */ + /*::[*/0x004C/*::]*/: 1, /* ROWS */ + /*::[*/0x004D/*::]*/: 1, /* COLUMNS */ + /*::[*/0x004F/*::]*/: 2, /* ABSREF */ + /*::[*/0x0050/*::]*/: 2, /* RELREF */ + /*::[*/0x0053/*::]*/: 1, /* TRANSPOSE */ + /*::[*/0x0056/*::]*/: 1, /* TYPE */ + /*::[*/0x005A/*::]*/: 1, /* DEREF */ + /*::[*/0x0061/*::]*/: 2, /* ATAN2 */ + /*::[*/0x0062/*::]*/: 1, /* ASIN */ + /*::[*/0x0063/*::]*/: 1, /* ACOS */ + /*::[*/0x0069/*::]*/: 1, /* ISREF */ + /*::[*/0x006F/*::]*/: 1, /* CHAR */ + /*::[*/0x0070/*::]*/: 1, /* LOWER */ + /*::[*/0x0071/*::]*/: 1, /* UPPER */ + /*::[*/0x0072/*::]*/: 1, /* PROPER */ + /*::[*/0x0075/*::]*/: 2, /* EXACT */ + /*::[*/0x0076/*::]*/: 1, /* TRIM */ + /*::[*/0x0077/*::]*/: 4, /* REPLACE */ + /*::[*/0x0079/*::]*/: 1, /* CODE */ + /*::[*/0x007E/*::]*/: 1, /* ISERR */ + /*::[*/0x007F/*::]*/: 1, /* ISTEXT */ + /*::[*/0x0080/*::]*/: 1, /* ISNUMBER */ + /*::[*/0x0081/*::]*/: 1, /* ISBLANK */ + /*::[*/0x0082/*::]*/: 1, /* T */ + /*::[*/0x0083/*::]*/: 1, /* N */ + /*::[*/0x0085/*::]*/: 1, /* FCLOSE */ + /*::[*/0x0086/*::]*/: 1, /* FSIZE */ + /*::[*/0x0087/*::]*/: 1, /* FREADLN */ + /*::[*/0x0088/*::]*/: 2, /* FREAD */ + /*::[*/0x0089/*::]*/: 2, /* FWRITELN */ + /*::[*/0x008A/*::]*/: 2, /* FWRITE */ + /*::[*/0x008C/*::]*/: 1, /* DATEVALUE */ + /*::[*/0x008D/*::]*/: 1, /* TIMEVALUE */ + /*::[*/0x008E/*::]*/: 3, /* SLN */ + /*::[*/0x008F/*::]*/: 4, /* SYD */ + /*::[*/0x00A2/*::]*/: 1, /* CLEAN */ + /*::[*/0x00A3/*::]*/: 1, /* MDETERM */ + /*::[*/0x00A4/*::]*/: 1, /* MINVERSE */ + /*::[*/0x00A5/*::]*/: 2, /* MMULT */ + /*::[*/0x00AC/*::]*/: 1, /* WHILE */ + /*::[*/0x00AF/*::]*/: 2, /* INITIATE */ + /*::[*/0x00B0/*::]*/: 2, /* REQUEST */ + /*::[*/0x00B1/*::]*/: 3, /* POKE */ + /*::[*/0x00B2/*::]*/: 2, /* EXECUTE */ + /*::[*/0x00B3/*::]*/: 1, /* TERMINATE */ + /*::[*/0x00B8/*::]*/: 1, /* FACT */ + /*::[*/0x00BD/*::]*/: 3, /* DPRODUCT */ + /*::[*/0x00BE/*::]*/: 1, /* ISNONTEXT */ + /*::[*/0x00C3/*::]*/: 3, /* DSTDEVP */ + /*::[*/0x00C4/*::]*/: 3, /* DVARP */ + /*::[*/0x00C6/*::]*/: 1, /* ISLOGICAL */ + /*::[*/0x00C7/*::]*/: 3, /* DCOUNTA */ + /*::[*/0x00C9/*::]*/: 1, /* UNREGISTER */ + /*::[*/0x00CF/*::]*/: 4, /* REPLACEB */ + /*::[*/0x00D2/*::]*/: 3, /* MIDB */ + /*::[*/0x00D3/*::]*/: 1, /* LENB */ + /*::[*/0x00D4/*::]*/: 2, /* ROUNDUP */ + /*::[*/0x00D5/*::]*/: 2, /* ROUNDDOWN */ + /*::[*/0x00D6/*::]*/: 1, /* ASC */ + /*::[*/0x00D7/*::]*/: 1, /* DBCS */ + /*::[*/0x00E5/*::]*/: 1, /* SINH */ + /*::[*/0x00E6/*::]*/: 1, /* COSH */ + /*::[*/0x00E7/*::]*/: 1, /* TANH */ + /*::[*/0x00E8/*::]*/: 1, /* ASINH */ + /*::[*/0x00E9/*::]*/: 1, /* ACOSH */ + /*::[*/0x00EA/*::]*/: 1, /* ATANH */ + /*::[*/0x00EB/*::]*/: 3, /* DGET */ + /*::[*/0x00F4/*::]*/: 1, /* INFO */ + /*::[*/0x00FC/*::]*/: 2, /* FREQUENCY */ + /*::[*/0x0101/*::]*/: 1, /* EVALUATE */ + /*::[*/0x0105/*::]*/: 1, /* ERROR.TYPE */ + /*::[*/0x010F/*::]*/: 1, /* GAMMALN */ + /*::[*/0x0111/*::]*/: 4, /* BINOMDIST */ + /*::[*/0x0112/*::]*/: 2, /* CHIDIST */ + /*::[*/0x0113/*::]*/: 2, /* CHIINV */ + /*::[*/0x0114/*::]*/: 2, /* COMBIN */ + /*::[*/0x0115/*::]*/: 3, /* CONFIDENCE */ + /*::[*/0x0116/*::]*/: 3, /* CRITBINOM */ + /*::[*/0x0117/*::]*/: 1, /* EVEN */ + /*::[*/0x0118/*::]*/: 3, /* EXPONDIST */ + /*::[*/0x0119/*::]*/: 3, /* FDIST */ + /*::[*/0x011A/*::]*/: 3, /* FINV */ + /*::[*/0x011B/*::]*/: 1, /* FISHER */ + /*::[*/0x011C/*::]*/: 1, /* FISHERINV */ + /*::[*/0x011D/*::]*/: 2, /* FLOOR */ + /*::[*/0x011E/*::]*/: 4, /* GAMMADIST */ + /*::[*/0x011F/*::]*/: 3, /* GAMMAINV */ + /*::[*/0x0120/*::]*/: 2, /* CEILING */ + /*::[*/0x0121/*::]*/: 4, /* HYPGEOMDIST */ + /*::[*/0x0122/*::]*/: 3, /* LOGNORMDIST */ + /*::[*/0x0123/*::]*/: 3, /* LOGINV */ + /*::[*/0x0124/*::]*/: 3, /* NEGBINOMDIST */ + /*::[*/0x0125/*::]*/: 4, /* NORMDIST */ + /*::[*/0x0126/*::]*/: 1, /* NORMSDIST */ + /*::[*/0x0127/*::]*/: 3, /* NORMINV */ + /*::[*/0x0128/*::]*/: 1, /* NORMSINV */ + /*::[*/0x0129/*::]*/: 3, /* STANDARDIZE */ + /*::[*/0x012A/*::]*/: 1, /* ODD */ + /*::[*/0x012B/*::]*/: 2, /* PERMUT */ + /*::[*/0x012C/*::]*/: 3, /* POISSON */ + /*::[*/0x012D/*::]*/: 3, /* TDIST */ + /*::[*/0x012E/*::]*/: 4, /* WEIBULL */ + /*::[*/0x012F/*::]*/: 2, /* SUMXMY2 */ + /*::[*/0x0130/*::]*/: 2, /* SUMX2MY2 */ + /*::[*/0x0131/*::]*/: 2, /* SUMX2PY2 */ + /*::[*/0x0132/*::]*/: 2, /* CHITEST */ + /*::[*/0x0133/*::]*/: 2, /* CORREL */ + /*::[*/0x0134/*::]*/: 2, /* COVAR */ + /*::[*/0x0135/*::]*/: 3, /* FORECAST */ + /*::[*/0x0136/*::]*/: 2, /* FTEST */ + /*::[*/0x0137/*::]*/: 2, /* INTERCEPT */ + /*::[*/0x0138/*::]*/: 2, /* PEARSON */ + /*::[*/0x0139/*::]*/: 2, /* RSQ */ + /*::[*/0x013A/*::]*/: 2, /* STEYX */ + /*::[*/0x013B/*::]*/: 2, /* SLOPE */ + /*::[*/0x013C/*::]*/: 4, /* TTEST */ + /*::[*/0x0145/*::]*/: 2, /* LARGE */ + /*::[*/0x0146/*::]*/: 2, /* SMALL */ + /*::[*/0x0147/*::]*/: 2, /* QUARTILE */ + /*::[*/0x0148/*::]*/: 2, /* PERCENTILE */ + /*::[*/0x014B/*::]*/: 2, /* TRIMMEAN */ + /*::[*/0x014C/*::]*/: 2, /* TINV */ + /*::[*/0x0151/*::]*/: 2, /* POWER */ + /*::[*/0x0156/*::]*/: 1, /* RADIANS */ + /*::[*/0x0157/*::]*/: 1, /* DEGREES */ + /*::[*/0x015A/*::]*/: 2, /* COUNTIF */ + /*::[*/0x015B/*::]*/: 1, /* COUNTBLANK */ + /*::[*/0x015E/*::]*/: 4, /* ISPMT */ + /*::[*/0x015F/*::]*/: 3, /* DATEDIF */ + /*::[*/0x0160/*::]*/: 1, /* DATESTRING */ + /*::[*/0x0161/*::]*/: 2, /* NUMBERSTRING */ + /*::[*/0x0168/*::]*/: 1, /* PHONETIC */ + /*::[*/0x0170/*::]*/: 1, /* BAHTTEXT */ + /*::[*/0x0171/*::]*/: 1, /* THAIDAYOFWEEK */ + /*::[*/0x0172/*::]*/: 1, /* THAIDIGIT */ + /*::[*/0x0173/*::]*/: 1, /* THAIMONTHOFYEAR */ + /*::[*/0x0174/*::]*/: 1, /* THAINUMSOUND */ + /*::[*/0x0175/*::]*/: 1, /* THAINUMSTRING */ + /*::[*/0x0176/*::]*/: 1, /* THAISTRINGLENGTH */ + /*::[*/0x0177/*::]*/: 1, /* ISTHAIDIGIT */ + /*::[*/0x0178/*::]*/: 1, /* ROUNDBAHTDOWN */ + /*::[*/0x0179/*::]*/: 1, /* ROUNDBAHTUP */ + /*::[*/0x017A/*::]*/: 1, /* THAIYEAR */ + /*::[*/0xFFFF/*::]*/: 0 }; /* [MS-XLSX] 2.2.3 Functions */ var XLSXFutureFunctions = { diff --git a/bits/66_wscommon.js b/bits/66_wscommon.js index a3631e5..5342653 100644 --- a/bits/66_wscommon.js +++ b/bits/66_wscommon.js @@ -3,7 +3,7 @@ var _ssfopts = {}; // spreadsheet formatting options RELS.WS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"; -function get_sst_id(sst, str) { +function get_sst_id(sst/*:SST*/, str)/*:number*/ { for(var i = 0, len = sst.length; i < len; ++i) if(sst[i].t === str) { sst.Count ++; return i; } sst[len] = {t:str}; sst.Count ++; sst.Unique ++; return len; } diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index 5648c65..2cbb0d1 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -2,19 +2,20 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(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); } -var mergecregex = //g; +var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /]*\/>/g; +var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /]*\/>/g; +var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ -function parse_ws_xml(data, opts, rels) { +function parse_ws_xml(data/*:?string*/, opts, rels) { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ var s = {}; /* 18.3.1.35 dimension CT_SheetDimension ? */ - var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -22,28 +23,27 @@ function parse_ws_xml(data, opts, rels) { /* 18.3.1.55 mergeCells CT_MergeCells */ var mergecells = []; - if(data.indexOf("")!==-1) { - var merges = data.match(mergecregex); - if(merges) for(ridx = 0; ridx != merges.length; ++ridx) - mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); - } + var merges = data.match(mergecregex); + if(merges) for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles && data.indexOf("")!==-1) { + if(opts.cellStyles) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - parse_ws_xml_cols(columns, cols); + if(cols) parse_ws_xml_cols(columns, cols); } - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/); /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), rels); + var hlink = data.match(hlinkregex); + if(hlink) parse_ws_xml_hlinks(s, hlink, rels); if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -109,11 +109,11 @@ function parse_ws_xml_cols(columns, cols) { } } -function write_ws_xml_cols(ws, cols) { +function write_ws_xml_cols(ws, cols)/*:string*/ { var o = [""], col, width; for(var i = 0; i != cols.length; ++i) { if(!(col = cols[i])) continue; - var p = {min:i+1,max:i+1}; + var p = ({min:i+1,max:i+1}/*:any*/); /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -143,7 +143,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { break; default: vv = cell.v; break; } - var v = writetag('v', escapexml(vv)), o = {r:ref}; + var v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/); /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -165,11 +165,11 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; - var rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/is>/; + var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { - var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p; + var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; @@ -194,7 +194,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref !== null && cref.length === 2) { + if(cref != null && cref.length === 2) { idx = 0; d=cref[1]; for(i=0; i != d.length; ++i) { if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break; @@ -207,10 +207,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { tag = parsexmltag(x.substr(0,i), true); if(!tag.r) tag.r = utils.encode_cell({r:tagr-1, c:tagc}); d = x.substr(i); - p = {t:""}; + p = ({t:""}/*:any*/); - if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); - if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); + // $FlowIgnore + if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); + // $FlowIgnore + if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -237,7 +239,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; + if(cref != null) { if((sstr = parse_si(cref[1]))) p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': @@ -261,8 +263,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { } }; })(); -function write_ws_xml_data(ws, opts, idx, wb) { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; +function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -282,7 +284,7 @@ var WS_XML_ROOT = writextag('worksheet', null, { 'xmlns:r': XMLNS.r }); -function write_ws_xml(idx/*:number*/, opts, wb)/*:string*/ { +function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ { var o = [XML_HEADER, WS_XML_ROOT]; var s = wb.SheetNames[idx], sidx = 0, rdata = ""; var ws = wb.Sheets[s]; diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js index 14c2be2..077066c 100644 --- a/bits/68_wsbin.js +++ b/bits/68_wsbin.js @@ -222,10 +222,10 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; - recordhopper(data, function ws_parse(val, R) { - //console.log(R); + recordhopper(data, function ws_parse(val, Record) { + //console.log(Record); if(end) return; - switch(R.n) { + switch(Record.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; @@ -243,7 +243,7 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = {t:val[2]}; + p = ({t:val[2]}/*:any*/); switch(val[2]) { case 'n': p.v = val[1]; break; case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break; @@ -261,7 +261,7 @@ function parse_ws_bin(data, opts, rels) { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = {t:'s',v:undefined}; + p = ({t:'s',v:undefined}/*:any*/); s[encode_col(C=val[0].c) + rr] = p; if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; @@ -397,10 +397,10 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); - if(!s["!ref"] && (refguess.s.r < 2000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); + if(!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); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -418,7 +418,7 @@ function parse_ws_bin(data, opts, rels) { } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba, cell, R, C, opts) { +function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { if(cell.v === undefined) return ""; var vv = ""; switch(cell.t) { @@ -426,7 +426,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts) { case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o = {r:R, c:C}; + var o/*:CellAddress*/ = ({r:R, c:C}/*:any*/); /* TODO: cell style */ o.s = get_cell_style(opts.cellXfs, cell, opts); switch(cell.t) { diff --git a/bits/76_wbcommon.js b/bits/71_wbcommon.js similarity index 100% rename from bits/76_wbcommon.js rename to bits/71_wbcommon.js diff --git a/bits/77_wbxml.js b/bits/72_wbxml.js similarity index 95% rename from bits/77_wbxml.js rename to bits/72_wbxml.js index 84a3ca8..32c12d7 100644 --- a/bits/77_wbxml.js +++ b/bits/72_wbxml.js @@ -1,9 +1,10 @@ /* 18.2 Workbook */ var wbnsregex = /<\w+:workbook/; function parse_wb_xml(data, opts) { + if(!data) throw new Error("Could not find file"); var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, xmlns = "xmlns"; - data.match(tagregex).forEach(function xml_wb(x) { + (data.match(tagregex)||[]).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case ''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; var styles = {}, stag = {}; @@ -677,7 +680,7 @@ function parse_xlml_xml(d, opts) { } if(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); } - var out = {}; + var out = ({}/*:Any*/); if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -695,5 +698,7 @@ function parse_xlml(data, opts) { } } -function write_xlml(wb, opts) { } - +function write_xlml(wb, opts)/*:string*/ { + var o = [XML_HEADER]; + return o.join(""); +} diff --git a/bits/81_xls.js b/bits/76_xls.js similarity index 89% rename from bits/81_xls.js rename to bits/76_xls.js index 3cd779a..c4f9770 100644 --- a/bits/81_xls.js +++ b/bits/76_xls.js @@ -22,11 +22,11 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw "Unsupported Unicode Extension"; + throw new Error("Unsupported Unicode Extension"); } /* 2.4.58 Continue logic */ -function slurp(R, blob, length, opts) { +function slurp(R, blob, length/*:number*/, opts) { var l = length; var bufs = []; var d = blob.slice(blob.l,blob.l+l); @@ -45,7 +45,7 @@ function slurp(R, blob, length, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = bconcat(bufs); + var b = (bconcat(bufs)/*:any*/); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } @@ -53,10 +53,11 @@ function slurp(R, blob, length, opts) { } function safe_format_xf(p, opts, date1904) { + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } + if(p.t === 'e'); else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -69,13 +70,13 @@ function safe_format_xf(p, opts, date1904) { } catch(e) { if(opts.WTF) throw e; } } -function make_cell(val, ixfe, t) { - return {v:val, ixfe:ixfe, t:t}; +function make_cell(val, ixfe, t)/*:any*/ { + return ({v:val, ixfe:ixfe, t:t}/*:any*/); } // 2.3.2 -function parse_workbook(blob, options) { - var wb = {opts:{}}; +function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { + var wb = ({opts:{}}/*:any*/); var Sheets = {}; var out = {}; var Directory = {}; @@ -123,7 +124,7 @@ function parse_workbook(blob, options) { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = { + var opts = ({ enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -135,17 +136,18 @@ function parse_workbook(blob, options) { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }; + }/*:any*/); if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = [[]]; // 1-indexed, will hold extern names + var supbooks = ([[]]/*:any*/); // 1-indexed, will hold extern names var sbc = 0, sbci = 0, sbcli = 0; supbooks.SheetNames = opts.snames; supbooks.sharedf = opts.sharedf; supbooks.arrayf = opts.arrayf; var last_Rn = ''; var file_depth = 0; /* TODO: make a real stack */ + var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -157,6 +159,7 @@ function parse_workbook(blob, options) { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; + //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -172,10 +175,6 @@ function parse_workbook(blob, options) { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; - /* BIFF5 overrides */ - if(opts.biff === 5 || opts.biff === 2) switch(Rn) { - case 'Lbl': Rn = 'Label'; break; - } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -253,41 +252,48 @@ function parse_workbook(blob, options) { out = {}; } break; case 'BOF': { - if(opts.biff !== 8); + if(opts.biff !== 8){} else if(val.BIFFVer === 0x0500) opts.biff = 5; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; + else if(RecordType === 0x0009) opts.biff = 2; + else if(RecordType === 0x0209) opts.biff = 3; + else if(RecordType === 0x0409) opts.biff = 4; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff === 2) { + if(opts.biff < 5) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; + /* fake BoundSheet8 */ + var fakebs8 = {pos: blob.l - length, name:cur_sheet}; + Directory[fakebs8.pos] = fakebs8; + opts.snames.push(cur_sheet); } else cur_sheet = (Directory[s] || {name:""}).name; mergecells = []; objects = []; } break; - case 'Number': case 'BIFF2NUM': { + case 'Number': case 'BIFF2NUM': case 'BIFF2INT': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'BoolErr': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'RK': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'MulRk': { for(var j = val.c; j <= val.C; ++j) { var ixfe = val.rkrec[j-val.c][0]; temp_val= {ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -296,10 +302,10 @@ function parse_workbook(blob, options) { case 'String': last_formula = val; break; case 'Array Formula': throw "Array Formula unsupported"; default: - temp_val = {v:val.val, ixfe:val.cell.ixfe, t:val.tt}; + temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -307,10 +313,10 @@ function parse_workbook(blob, options) { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = {v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}; + temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; } @@ -322,20 +328,18 @@ function parse_workbook(blob, options) { if(!cell_valid) break; //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); /* TODO: capture range */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': - //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Label': case 'BIFF2STR': - /* Some writers erroneously write Label */ temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -347,6 +351,9 @@ function parse_workbook(blob, options) { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; + case 'BIFF2FORMAT': { + SSF.load(val, BIFF2Fmt++); + } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -599,12 +606,18 @@ function parse_workbook(blob, options) { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; + default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; - default: switch(R.n) { /* nested */ + /* BIFF2-4 records */ + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; + case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; + case 'Dimension': break; + /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -613,7 +626,7 @@ function parse_workbook(blob, options) { }}}} } else blob.l += length; } - var sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); + var sheetnamesraw = Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); var sheetnames = sheetnamesraw.slice(); wb.Directory=sheetnamesraw; wb.SheetNames=sheetnamesraw; @@ -627,22 +640,22 @@ function parse_workbook(blob, options) { return wb; } -function parse_xlscfb(cfb, options) { +function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/) { if(!options) options = {}; fix_read_opts(options); reset_cp(); -var CompObj, Summary, Workbook; -if(cfb.find) { +var CompObj, Summary, Workbook/*:?any*/; +if(cfb.FullPaths) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = {content: cfb}; + Workbook = ({content: cfb}/*:any*/); } if(!Workbook) Workbook = cfb.find('/Book'); -var CompObjP, SummaryP, WorkbookP; +var CompObjP, SummaryP, WorkbookP/*:?any*/; if(CompObj) CompObjP = parse_compobj(CompObj); if(options.bookProps && !options.bookSheets) WorkbookP = {}; @@ -651,7 +664,7 @@ else { else throw new Error("Cannot find Workbook stream"); } -if(cfb.find) parse_props(cfb); +if(cfb.FullPaths) parse_props(cfb); var props = {}; for(var y in cfb.Summary) props[y] = cfb.Summary[y]; diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js new file mode 100644 index 0000000..6376355 --- /dev/null +++ b/bits/77_parsetab.js @@ -0,0 +1,1249 @@ +/* [MS-XLSB] 2.3 Record Enumeration */ +var XLSBRecordEnum = { + /*::[*/0x0000/*::]*/: { n:"BrtRowHdr", f:parse_BrtRowHdr }, + /*::[*/0x0001/*::]*/: { n:"BrtCellBlank", f:parse_BrtCellBlank }, + /*::[*/0x0002/*::]*/: { n:"BrtCellRk", f:parse_BrtCellRk }, + /*::[*/0x0003/*::]*/: { n:"BrtCellError", f:parse_BrtCellError }, + /*::[*/0x0004/*::]*/: { n:"BrtCellBool", f:parse_BrtCellBool }, + /*::[*/0x0005/*::]*/: { n:"BrtCellReal", f:parse_BrtCellReal }, + /*::[*/0x0006/*::]*/: { n:"BrtCellSt", f:parse_BrtCellSt }, + /*::[*/0x0007/*::]*/: { n:"BrtCellIsst", f:parse_BrtCellIsst }, + /*::[*/0x0008/*::]*/: { n:"BrtFmlaString", f:parse_BrtFmlaString }, + /*::[*/0x0009/*::]*/: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, + /*::[*/0x000A/*::]*/: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, + /*::[*/0x000B/*::]*/: { n:"BrtFmlaError", f:parse_BrtFmlaError }, + /*::[*/0x0010/*::]*/: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, + /*::[*/0x0013/*::]*/: { n:"BrtSSTItem", f:parse_RichStr }, + /*::[*/0x0014/*::]*/: { n:"BrtPCDIMissing", f:parsenoop }, + /*::[*/0x0015/*::]*/: { n:"BrtPCDINumber", f:parsenoop }, + /*::[*/0x0016/*::]*/: { n:"BrtPCDIBoolean", f:parsenoop }, + /*::[*/0x0017/*::]*/: { n:"BrtPCDIError", f:parsenoop }, + /*::[*/0x0018/*::]*/: { n:"BrtPCDIString", f:parsenoop }, + /*::[*/0x0019/*::]*/: { n:"BrtPCDIDatetime", f:parsenoop }, + /*::[*/0x001A/*::]*/: { n:"BrtPCDIIndex", f:parsenoop }, + /*::[*/0x001B/*::]*/: { n:"BrtPCDIAMissing", f:parsenoop }, + /*::[*/0x001C/*::]*/: { n:"BrtPCDIANumber", f:parsenoop }, + /*::[*/0x001D/*::]*/: { n:"BrtPCDIABoolean", f:parsenoop }, + /*::[*/0x001E/*::]*/: { n:"BrtPCDIAError", f:parsenoop }, + /*::[*/0x001F/*::]*/: { n:"BrtPCDIAString", f:parsenoop }, + /*::[*/0x0020/*::]*/: { n:"BrtPCDIADatetime", f:parsenoop }, + /*::[*/0x0021/*::]*/: { n:"BrtPCRRecord", f:parsenoop }, + /*::[*/0x0022/*::]*/: { n:"BrtPCRRecordDt", f:parsenoop }, + /*::[*/0x0023/*::]*/: { n:"BrtFRTBegin", f:parsenoop }, + /*::[*/0x0024/*::]*/: { n:"BrtFRTEnd", f:parsenoop }, + /*::[*/0x0025/*::]*/: { n:"BrtACBegin", f:parsenoop }, + /*::[*/0x0026/*::]*/: { n:"BrtACEnd", f:parsenoop }, + /*::[*/0x0027/*::]*/: { n:"BrtName", f:parsenoop }, + /*::[*/0x0028/*::]*/: { n:"BrtIndexRowBlock", f:parsenoop }, + /*::[*/0x002A/*::]*/: { n:"BrtIndexBlock", f:parsenoop }, + /*::[*/0x002B/*::]*/: { n:"BrtFont", f:parse_BrtFont }, + /*::[*/0x002C/*::]*/: { n:"BrtFmt", f:parse_BrtFmt }, + /*::[*/0x002D/*::]*/: { n:"BrtFill", f:parsenoop }, + /*::[*/0x002E/*::]*/: { n:"BrtBorder", f:parsenoop }, + /*::[*/0x002F/*::]*/: { n:"BrtXF", f:parse_BrtXF }, + /*::[*/0x0030/*::]*/: { n:"BrtStyle", f:parsenoop }, + /*::[*/0x0031/*::]*/: { n:"BrtCellMeta", f:parsenoop }, + /*::[*/0x0032/*::]*/: { n:"BrtValueMeta", f:parsenoop }, + /*::[*/0x0033/*::]*/: { n:"BrtMdb", f:parsenoop }, + /*::[*/0x0034/*::]*/: { n:"BrtBeginFmd", f:parsenoop }, + /*::[*/0x0035/*::]*/: { n:"BrtEndFmd", f:parsenoop }, + /*::[*/0x0036/*::]*/: { n:"BrtBeginMdx", f:parsenoop }, + /*::[*/0x0037/*::]*/: { n:"BrtEndMdx", f:parsenoop }, + /*::[*/0x0038/*::]*/: { n:"BrtBeginMdxTuple", f:parsenoop }, + /*::[*/0x0039/*::]*/: { n:"BrtEndMdxTuple", f:parsenoop }, + /*::[*/0x003A/*::]*/: { n:"BrtMdxMbrIstr", f:parsenoop }, + /*::[*/0x003B/*::]*/: { n:"BrtStr", f:parsenoop }, + /*::[*/0x003C/*::]*/: { n:"BrtColInfo", f:parsenoop }, + /*::[*/0x003E/*::]*/: { n:"BrtCellRString", f:parsenoop }, + /*::[*/0x003F/*::]*/: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, + /*::[*/0x0040/*::]*/: { n:"BrtDVal", f:parsenoop }, + /*::[*/0x0041/*::]*/: { n:"BrtSxvcellNum", f:parsenoop }, + /*::[*/0x0042/*::]*/: { n:"BrtSxvcellStr", f:parsenoop }, + /*::[*/0x0043/*::]*/: { n:"BrtSxvcellBool", f:parsenoop }, + /*::[*/0x0044/*::]*/: { n:"BrtSxvcellErr", f:parsenoop }, + /*::[*/0x0045/*::]*/: { n:"BrtSxvcellDate", f:parsenoop }, + /*::[*/0x0046/*::]*/: { n:"BrtSxvcellNil", f:parsenoop }, + /*::[*/0x0080/*::]*/: { n:"BrtFileVersion", f:parsenoop }, + /*::[*/0x0081/*::]*/: { n:"BrtBeginSheet", f:parsenoop }, + /*::[*/0x0082/*::]*/: { n:"BrtEndSheet", f:parsenoop }, + /*::[*/0x0083/*::]*/: { n:"BrtBeginBook", f:parsenoop, p:0 }, + /*::[*/0x0084/*::]*/: { n:"BrtEndBook", f:parsenoop }, + /*::[*/0x0085/*::]*/: { n:"BrtBeginWsViews", f:parsenoop }, + /*::[*/0x0086/*::]*/: { n:"BrtEndWsViews", f:parsenoop }, + /*::[*/0x0087/*::]*/: { n:"BrtBeginBookViews", f:parsenoop }, + /*::[*/0x0088/*::]*/: { n:"BrtEndBookViews", f:parsenoop }, + /*::[*/0x0089/*::]*/: { n:"BrtBeginWsView", f:parsenoop }, + /*::[*/0x008A/*::]*/: { n:"BrtEndWsView", f:parsenoop }, + /*::[*/0x008B/*::]*/: { n:"BrtBeginCsViews", f:parsenoop }, + /*::[*/0x008C/*::]*/: { n:"BrtEndCsViews", f:parsenoop }, + /*::[*/0x008D/*::]*/: { n:"BrtBeginCsView", f:parsenoop }, + /*::[*/0x008E/*::]*/: { n:"BrtEndCsView", f:parsenoop }, + /*::[*/0x008F/*::]*/: { n:"BrtBeginBundleShs", f:parsenoop }, + /*::[*/0x0090/*::]*/: { n:"BrtEndBundleShs", f:parsenoop }, + /*::[*/0x0091/*::]*/: { n:"BrtBeginSheetData", f:parsenoop }, + /*::[*/0x0092/*::]*/: { n:"BrtEndSheetData", f:parsenoop }, + /*::[*/0x0093/*::]*/: { n:"BrtWsProp", f:parse_BrtWsProp }, + /*::[*/0x0094/*::]*/: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, + /*::[*/0x0097/*::]*/: { n:"BrtPane", f:parsenoop }, + /*::[*/0x0098/*::]*/: { n:"BrtSel", f:parsenoop }, + /*::[*/0x0099/*::]*/: { n:"BrtWbProp", f:parse_BrtWbProp }, + /*::[*/0x009A/*::]*/: { n:"BrtWbFactoid", f:parsenoop }, + /*::[*/0x009B/*::]*/: { n:"BrtFileRecover", f:parsenoop }, + /*::[*/0x009C/*::]*/: { n:"BrtBundleSh", f:parse_BrtBundleSh }, + /*::[*/0x009D/*::]*/: { n:"BrtCalcProp", f:parsenoop }, + /*::[*/0x009E/*::]*/: { n:"BrtBookView", f:parsenoop }, + /*::[*/0x009F/*::]*/: { n:"BrtBeginSst", f:parse_BrtBeginSst }, + /*::[*/0x00A0/*::]*/: { n:"BrtEndSst", f:parsenoop }, + /*::[*/0x00A1/*::]*/: { n:"BrtBeginAFilter", f:parsenoop }, + /*::[*/0x00A2/*::]*/: { n:"BrtEndAFilter", f:parsenoop }, + /*::[*/0x00A3/*::]*/: { n:"BrtBeginFilterColumn", f:parsenoop }, + /*::[*/0x00A4/*::]*/: { n:"BrtEndFilterColumn", f:parsenoop }, + /*::[*/0x00A5/*::]*/: { n:"BrtBeginFilters", f:parsenoop }, + /*::[*/0x00A6/*::]*/: { n:"BrtEndFilters", f:parsenoop }, + /*::[*/0x00A7/*::]*/: { n:"BrtFilter", f:parsenoop }, + /*::[*/0x00A8/*::]*/: { n:"BrtColorFilter", f:parsenoop }, + /*::[*/0x00A9/*::]*/: { n:"BrtIconFilter", f:parsenoop }, + /*::[*/0x00AA/*::]*/: { n:"BrtTop10Filter", f:parsenoop }, + /*::[*/0x00AB/*::]*/: { n:"BrtDynamicFilter", f:parsenoop }, + /*::[*/0x00AC/*::]*/: { n:"BrtBeginCustomFilters", f:parsenoop }, + /*::[*/0x00AD/*::]*/: { n:"BrtEndCustomFilters", f:parsenoop }, + /*::[*/0x00AE/*::]*/: { n:"BrtCustomFilter", f:parsenoop }, + /*::[*/0x00AF/*::]*/: { n:"BrtAFilterDateGroupItem", f:parsenoop }, + /*::[*/0x00B0/*::]*/: { n:"BrtMergeCell", f:parse_BrtMergeCell }, + /*::[*/0x00B1/*::]*/: { n:"BrtBeginMergeCells", f:parsenoop }, + /*::[*/0x00B2/*::]*/: { n:"BrtEndMergeCells", f:parsenoop }, + /*::[*/0x00B3/*::]*/: { n:"BrtBeginPivotCacheDef", f:parsenoop }, + /*::[*/0x00B4/*::]*/: { n:"BrtEndPivotCacheDef", f:parsenoop }, + /*::[*/0x00B5/*::]*/: { n:"BrtBeginPCDFields", f:parsenoop }, + /*::[*/0x00B6/*::]*/: { n:"BrtEndPCDFields", f:parsenoop }, + /*::[*/0x00B7/*::]*/: { n:"BrtBeginPCDField", f:parsenoop }, + /*::[*/0x00B8/*::]*/: { n:"BrtEndPCDField", f:parsenoop }, + /*::[*/0x00B9/*::]*/: { n:"BrtBeginPCDSource", f:parsenoop }, + /*::[*/0x00BA/*::]*/: { n:"BrtEndPCDSource", f:parsenoop }, + /*::[*/0x00BB/*::]*/: { n:"BrtBeginPCDSRange", f:parsenoop }, + /*::[*/0x00BC/*::]*/: { n:"BrtEndPCDSRange", f:parsenoop }, + /*::[*/0x00BD/*::]*/: { n:"BrtBeginPCDFAtbl", f:parsenoop }, + /*::[*/0x00BE/*::]*/: { n:"BrtEndPCDFAtbl", f:parsenoop }, + /*::[*/0x00BF/*::]*/: { n:"BrtBeginPCDIRun", f:parsenoop }, + /*::[*/0x00C0/*::]*/: { n:"BrtEndPCDIRun", f:parsenoop }, + /*::[*/0x00C1/*::]*/: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, + /*::[*/0x00C2/*::]*/: { n:"BrtEndPivotCacheRecords", f:parsenoop }, + /*::[*/0x00C3/*::]*/: { n:"BrtBeginPCDHierarchies", f:parsenoop }, + /*::[*/0x00C4/*::]*/: { n:"BrtEndPCDHierarchies", f:parsenoop }, + /*::[*/0x00C5/*::]*/: { n:"BrtBeginPCDHierarchy", f:parsenoop }, + /*::[*/0x00C6/*::]*/: { n:"BrtEndPCDHierarchy", f:parsenoop }, + /*::[*/0x00C7/*::]*/: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, + /*::[*/0x00C8/*::]*/: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, + /*::[*/0x00C9/*::]*/: { n:"BrtBeginExtConnection", f:parsenoop }, + /*::[*/0x00CA/*::]*/: { n:"BrtEndExtConnection", f:parsenoop }, + /*::[*/0x00CB/*::]*/: { n:"BrtBeginECDbProps", f:parsenoop }, + /*::[*/0x00CC/*::]*/: { n:"BrtEndECDbProps", f:parsenoop }, + /*::[*/0x00CD/*::]*/: { n:"BrtBeginECOlapProps", f:parsenoop }, + /*::[*/0x00CE/*::]*/: { n:"BrtEndECOlapProps", f:parsenoop }, + /*::[*/0x00CF/*::]*/: { n:"BrtBeginPCDSConsol", f:parsenoop }, + /*::[*/0x00D0/*::]*/: { n:"BrtEndPCDSConsol", f:parsenoop }, + /*::[*/0x00D1/*::]*/: { n:"BrtBeginPCDSCPages", f:parsenoop }, + /*::[*/0x00D2/*::]*/: { n:"BrtEndPCDSCPages", f:parsenoop }, + /*::[*/0x00D3/*::]*/: { n:"BrtBeginPCDSCPage", f:parsenoop }, + /*::[*/0x00D4/*::]*/: { n:"BrtEndPCDSCPage", f:parsenoop }, + /*::[*/0x00D5/*::]*/: { n:"BrtBeginPCDSCPItem", f:parsenoop }, + /*::[*/0x00D6/*::]*/: { n:"BrtEndPCDSCPItem", f:parsenoop }, + /*::[*/0x00D7/*::]*/: { n:"BrtBeginPCDSCSets", f:parsenoop }, + /*::[*/0x00D8/*::]*/: { n:"BrtEndPCDSCSets", f:parsenoop }, + /*::[*/0x00D9/*::]*/: { n:"BrtBeginPCDSCSet", f:parsenoop }, + /*::[*/0x00DA/*::]*/: { n:"BrtEndPCDSCSet", f:parsenoop }, + /*::[*/0x00DB/*::]*/: { n:"BrtBeginPCDFGroup", f:parsenoop }, + /*::[*/0x00DC/*::]*/: { n:"BrtEndPCDFGroup", f:parsenoop }, + /*::[*/0x00DD/*::]*/: { n:"BrtBeginPCDFGItems", f:parsenoop }, + /*::[*/0x00DE/*::]*/: { n:"BrtEndPCDFGItems", f:parsenoop }, + /*::[*/0x00DF/*::]*/: { n:"BrtBeginPCDFGRange", f:parsenoop }, + /*::[*/0x00E0/*::]*/: { n:"BrtEndPCDFGRange", f:parsenoop }, + /*::[*/0x00E1/*::]*/: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, + /*::[*/0x00E2/*::]*/: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, + /*::[*/0x00E3/*::]*/: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, + /*::[*/0x00E4/*::]*/: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, + /*::[*/0x00E5/*::]*/: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, + /*::[*/0x00E6/*::]*/: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, + /*::[*/0x00E7/*::]*/: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, + /*::[*/0x00E8/*::]*/: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, + /*::[*/0x00E9/*::]*/: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, + /*::[*/0x00EA/*::]*/: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, + /*::[*/0x00EB/*::]*/: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, + /*::[*/0x00EC/*::]*/: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, + /*::[*/0x00ED/*::]*/: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, + /*::[*/0x00EE/*::]*/: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, + /*::[*/0x00EF/*::]*/: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, + /*::[*/0x00F0/*::]*/: { n:"BrtEndPCDSDTCSets", f:parsenoop }, + /*::[*/0x00F1/*::]*/: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, + /*::[*/0x00F2/*::]*/: { n:"BrtEndPCDSDTCSet", f:parsenoop }, + /*::[*/0x00F3/*::]*/: { n:"BrtBeginPCDCalcItems", f:parsenoop }, + /*::[*/0x00F4/*::]*/: { n:"BrtEndPCDCalcItems", f:parsenoop }, + /*::[*/0x00F5/*::]*/: { n:"BrtBeginPCDCalcItem", f:parsenoop }, + /*::[*/0x00F6/*::]*/: { n:"BrtEndPCDCalcItem", f:parsenoop }, + /*::[*/0x00F7/*::]*/: { n:"BrtBeginPRule", f:parsenoop }, + /*::[*/0x00F8/*::]*/: { n:"BrtEndPRule", f:parsenoop }, + /*::[*/0x00F9/*::]*/: { n:"BrtBeginPRFilters", f:parsenoop }, + /*::[*/0x00FA/*::]*/: { n:"BrtEndPRFilters", f:parsenoop }, + /*::[*/0x00FB/*::]*/: { n:"BrtBeginPRFilter", f:parsenoop }, + /*::[*/0x00FC/*::]*/: { n:"BrtEndPRFilter", f:parsenoop }, + /*::[*/0x00FD/*::]*/: { n:"BrtBeginPNames", f:parsenoop }, + /*::[*/0x00FE/*::]*/: { n:"BrtEndPNames", f:parsenoop }, + /*::[*/0x00FF/*::]*/: { n:"BrtBeginPName", f:parsenoop }, + /*::[*/0x0100/*::]*/: { n:"BrtEndPName", f:parsenoop }, + /*::[*/0x0101/*::]*/: { n:"BrtBeginPNPairs", f:parsenoop }, + /*::[*/0x0102/*::]*/: { n:"BrtEndPNPairs", f:parsenoop }, + /*::[*/0x0103/*::]*/: { n:"BrtBeginPNPair", f:parsenoop }, + /*::[*/0x0104/*::]*/: { n:"BrtEndPNPair", f:parsenoop }, + /*::[*/0x0105/*::]*/: { n:"BrtBeginECWebProps", f:parsenoop }, + /*::[*/0x0106/*::]*/: { n:"BrtEndECWebProps", f:parsenoop }, + /*::[*/0x0107/*::]*/: { n:"BrtBeginEcWpTables", f:parsenoop }, + /*::[*/0x0108/*::]*/: { n:"BrtEndECWPTables", f:parsenoop }, + /*::[*/0x0109/*::]*/: { n:"BrtBeginECParams", f:parsenoop }, + /*::[*/0x010A/*::]*/: { n:"BrtEndECParams", f:parsenoop }, + /*::[*/0x010B/*::]*/: { n:"BrtBeginECParam", f:parsenoop }, + /*::[*/0x010C/*::]*/: { n:"BrtEndECParam", f:parsenoop }, + /*::[*/0x010D/*::]*/: { n:"BrtBeginPCDKPIs", f:parsenoop }, + /*::[*/0x010E/*::]*/: { n:"BrtEndPCDKPIs", f:parsenoop }, + /*::[*/0x010F/*::]*/: { n:"BrtBeginPCDKPI", f:parsenoop }, + /*::[*/0x0110/*::]*/: { n:"BrtEndPCDKPI", f:parsenoop }, + /*::[*/0x0111/*::]*/: { n:"BrtBeginDims", f:parsenoop }, + /*::[*/0x0112/*::]*/: { n:"BrtEndDims", f:parsenoop }, + /*::[*/0x0113/*::]*/: { n:"BrtBeginDim", f:parsenoop }, + /*::[*/0x0114/*::]*/: { n:"BrtEndDim", f:parsenoop }, + /*::[*/0x0115/*::]*/: { n:"BrtIndexPartEnd", f:parsenoop }, + /*::[*/0x0116/*::]*/: { n:"BrtBeginStyleSheet", f:parsenoop }, + /*::[*/0x0117/*::]*/: { n:"BrtEndStyleSheet", f:parsenoop }, + /*::[*/0x0118/*::]*/: { n:"BrtBeginSXView", f:parsenoop }, + /*::[*/0x0119/*::]*/: { n:"BrtEndSXVI", f:parsenoop }, + /*::[*/0x011A/*::]*/: { n:"BrtBeginSXVI", f:parsenoop }, + /*::[*/0x011B/*::]*/: { n:"BrtBeginSXVIs", f:parsenoop }, + /*::[*/0x011C/*::]*/: { n:"BrtEndSXVIs", f:parsenoop }, + /*::[*/0x011D/*::]*/: { n:"BrtBeginSXVD", f:parsenoop }, + /*::[*/0x011E/*::]*/: { n:"BrtEndSXVD", f:parsenoop }, + /*::[*/0x011F/*::]*/: { n:"BrtBeginSXVDs", f:parsenoop }, + /*::[*/0x0120/*::]*/: { n:"BrtEndSXVDs", f:parsenoop }, + /*::[*/0x0121/*::]*/: { n:"BrtBeginSXPI", f:parsenoop }, + /*::[*/0x0122/*::]*/: { n:"BrtEndSXPI", f:parsenoop }, + /*::[*/0x0123/*::]*/: { n:"BrtBeginSXPIs", f:parsenoop }, + /*::[*/0x0124/*::]*/: { n:"BrtEndSXPIs", f:parsenoop }, + /*::[*/0x0125/*::]*/: { n:"BrtBeginSXDI", f:parsenoop }, + /*::[*/0x0126/*::]*/: { n:"BrtEndSXDI", f:parsenoop }, + /*::[*/0x0127/*::]*/: { n:"BrtBeginSXDIs", f:parsenoop }, + /*::[*/0x0128/*::]*/: { n:"BrtEndSXDIs", f:parsenoop }, + /*::[*/0x0129/*::]*/: { n:"BrtBeginSXLI", f:parsenoop }, + /*::[*/0x012A/*::]*/: { n:"BrtEndSXLI", f:parsenoop }, + /*::[*/0x012B/*::]*/: { n:"BrtBeginSXLIRws", f:parsenoop }, + /*::[*/0x012C/*::]*/: { n:"BrtEndSXLIRws", f:parsenoop }, + /*::[*/0x012D/*::]*/: { n:"BrtBeginSXLICols", f:parsenoop }, + /*::[*/0x012E/*::]*/: { n:"BrtEndSXLICols", f:parsenoop }, + /*::[*/0x012F/*::]*/: { n:"BrtBeginSXFormat", f:parsenoop }, + /*::[*/0x0130/*::]*/: { n:"BrtEndSXFormat", f:parsenoop }, + /*::[*/0x0131/*::]*/: { n:"BrtBeginSXFormats", f:parsenoop }, + /*::[*/0x0132/*::]*/: { n:"BrtEndSxFormats", f:parsenoop }, + /*::[*/0x0133/*::]*/: { n:"BrtBeginSxSelect", f:parsenoop }, + /*::[*/0x0134/*::]*/: { n:"BrtEndSxSelect", f:parsenoop }, + /*::[*/0x0135/*::]*/: { n:"BrtBeginISXVDRws", f:parsenoop }, + /*::[*/0x0136/*::]*/: { n:"BrtEndISXVDRws", f:parsenoop }, + /*::[*/0x0137/*::]*/: { n:"BrtBeginISXVDCols", f:parsenoop }, + /*::[*/0x0138/*::]*/: { n:"BrtEndISXVDCols", f:parsenoop }, + /*::[*/0x0139/*::]*/: { n:"BrtEndSXLocation", f:parsenoop }, + /*::[*/0x013A/*::]*/: { n:"BrtBeginSXLocation", f:parsenoop }, + /*::[*/0x013B/*::]*/: { n:"BrtEndSXView", f:parsenoop }, + /*::[*/0x013C/*::]*/: { n:"BrtBeginSXTHs", f:parsenoop }, + /*::[*/0x013D/*::]*/: { n:"BrtEndSXTHs", f:parsenoop }, + /*::[*/0x013E/*::]*/: { n:"BrtBeginSXTH", f:parsenoop }, + /*::[*/0x013F/*::]*/: { n:"BrtEndSXTH", f:parsenoop }, + /*::[*/0x0140/*::]*/: { n:"BrtBeginISXTHRws", f:parsenoop }, + /*::[*/0x0141/*::]*/: { n:"BrtEndISXTHRws", f:parsenoop }, + /*::[*/0x0142/*::]*/: { n:"BrtBeginISXTHCols", f:parsenoop }, + /*::[*/0x0143/*::]*/: { n:"BrtEndISXTHCols", f:parsenoop }, + /*::[*/0x0144/*::]*/: { n:"BrtBeginSXTDMPS", f:parsenoop }, + /*::[*/0x0145/*::]*/: { n:"BrtEndSXTDMPs", f:parsenoop }, + /*::[*/0x0146/*::]*/: { n:"BrtBeginSXTDMP", f:parsenoop }, + /*::[*/0x0147/*::]*/: { n:"BrtEndSXTDMP", f:parsenoop }, + /*::[*/0x0148/*::]*/: { n:"BrtBeginSXTHItems", f:parsenoop }, + /*::[*/0x0149/*::]*/: { n:"BrtEndSXTHItems", f:parsenoop }, + /*::[*/0x014A/*::]*/: { n:"BrtBeginSXTHItem", f:parsenoop }, + /*::[*/0x014B/*::]*/: { n:"BrtEndSXTHItem", f:parsenoop }, + /*::[*/0x014C/*::]*/: { n:"BrtBeginMetadata", f:parsenoop }, + /*::[*/0x014D/*::]*/: { n:"BrtEndMetadata", f:parsenoop }, + /*::[*/0x014E/*::]*/: { n:"BrtBeginEsmdtinfo", f:parsenoop }, + /*::[*/0x014F/*::]*/: { n:"BrtMdtinfo", f:parsenoop }, + /*::[*/0x0150/*::]*/: { n:"BrtEndEsmdtinfo", f:parsenoop }, + /*::[*/0x0151/*::]*/: { n:"BrtBeginEsmdb", f:parsenoop }, + /*::[*/0x0152/*::]*/: { n:"BrtEndEsmdb", f:parsenoop }, + /*::[*/0x0153/*::]*/: { n:"BrtBeginEsfmd", f:parsenoop }, + /*::[*/0x0154/*::]*/: { n:"BrtEndEsfmd", f:parsenoop }, + /*::[*/0x0155/*::]*/: { n:"BrtBeginSingleCells", f:parsenoop }, + /*::[*/0x0156/*::]*/: { n:"BrtEndSingleCells", f:parsenoop }, + /*::[*/0x0157/*::]*/: { n:"BrtBeginList", f:parsenoop }, + /*::[*/0x0158/*::]*/: { n:"BrtEndList", f:parsenoop }, + /*::[*/0x0159/*::]*/: { n:"BrtBeginListCols", f:parsenoop }, + /*::[*/0x015A/*::]*/: { n:"BrtEndListCols", f:parsenoop }, + /*::[*/0x015B/*::]*/: { n:"BrtBeginListCol", f:parsenoop }, + /*::[*/0x015C/*::]*/: { n:"BrtEndListCol", f:parsenoop }, + /*::[*/0x015D/*::]*/: { n:"BrtBeginListXmlCPr", f:parsenoop }, + /*::[*/0x015E/*::]*/: { n:"BrtEndListXmlCPr", f:parsenoop }, + /*::[*/0x015F/*::]*/: { n:"BrtListCCFmla", f:parsenoop }, + /*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop }, + /*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop }, + /*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop }, + /*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parsenoop }, + /*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop }, + /*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop }, + /*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop }, + /*::[*/0x0168/*::]*/: { n:"BrtBeginSupBook", f:parsenoop }, + /*::[*/0x0169/*::]*/: { n:"BrtPlaceholderName", f:parsenoop }, + /*::[*/0x016A/*::]*/: { n:"BrtExternSheet", f:parsenoop }, + /*::[*/0x016B/*::]*/: { n:"BrtExternTableStart", f:parsenoop }, + /*::[*/0x016C/*::]*/: { n:"BrtExternTableEnd", f:parsenoop }, + /*::[*/0x016E/*::]*/: { n:"BrtExternRowHdr", f:parsenoop }, + /*::[*/0x016F/*::]*/: { n:"BrtExternCellBlank", f:parsenoop }, + /*::[*/0x0170/*::]*/: { n:"BrtExternCellReal", f:parsenoop }, + /*::[*/0x0171/*::]*/: { n:"BrtExternCellBool", f:parsenoop }, + /*::[*/0x0172/*::]*/: { n:"BrtExternCellError", f:parsenoop }, + /*::[*/0x0173/*::]*/: { n:"BrtExternCellString", f:parsenoop }, + /*::[*/0x0174/*::]*/: { n:"BrtBeginEsmdx", f:parsenoop }, + /*::[*/0x0175/*::]*/: { n:"BrtEndEsmdx", f:parsenoop }, + /*::[*/0x0176/*::]*/: { n:"BrtBeginMdxSet", f:parsenoop }, + /*::[*/0x0177/*::]*/: { n:"BrtEndMdxSet", f:parsenoop }, + /*::[*/0x0178/*::]*/: { n:"BrtBeginMdxMbrProp", f:parsenoop }, + /*::[*/0x0179/*::]*/: { n:"BrtEndMdxMbrProp", f:parsenoop }, + /*::[*/0x017A/*::]*/: { n:"BrtBeginMdxKPI", f:parsenoop }, + /*::[*/0x017B/*::]*/: { n:"BrtEndMdxKPI", f:parsenoop }, + /*::[*/0x017C/*::]*/: { n:"BrtBeginEsstr", f:parsenoop }, + /*::[*/0x017D/*::]*/: { n:"BrtEndEsstr", f:parsenoop }, + /*::[*/0x017E/*::]*/: { n:"BrtBeginPRFItem", f:parsenoop }, + /*::[*/0x017F/*::]*/: { n:"BrtEndPRFItem", f:parsenoop }, + /*::[*/0x0180/*::]*/: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, + /*::[*/0x0181/*::]*/: { n:"BrtEndPivotCacheIDs", f:parsenoop }, + /*::[*/0x0182/*::]*/: { n:"BrtBeginPivotCacheID", f:parsenoop }, + /*::[*/0x0183/*::]*/: { n:"BrtEndPivotCacheID", f:parsenoop }, + /*::[*/0x0184/*::]*/: { n:"BrtBeginISXVIs", f:parsenoop }, + /*::[*/0x0185/*::]*/: { n:"BrtEndISXVIs", f:parsenoop }, + /*::[*/0x0186/*::]*/: { n:"BrtBeginColInfos", f:parsenoop }, + /*::[*/0x0187/*::]*/: { n:"BrtEndColInfos", f:parsenoop }, + /*::[*/0x0188/*::]*/: { n:"BrtBeginRwBrk", f:parsenoop }, + /*::[*/0x0189/*::]*/: { n:"BrtEndRwBrk", f:parsenoop }, + /*::[*/0x018A/*::]*/: { n:"BrtBeginColBrk", f:parsenoop }, + /*::[*/0x018B/*::]*/: { n:"BrtEndColBrk", f:parsenoop }, + /*::[*/0x018C/*::]*/: { n:"BrtBrk", f:parsenoop }, + /*::[*/0x018D/*::]*/: { n:"BrtUserBookView", f:parsenoop }, + /*::[*/0x018E/*::]*/: { n:"BrtInfo", f:parsenoop }, + /*::[*/0x018F/*::]*/: { n:"BrtCUsr", f:parsenoop }, + /*::[*/0x0190/*::]*/: { n:"BrtUsr", f:parsenoop }, + /*::[*/0x0191/*::]*/: { n:"BrtBeginUsers", f:parsenoop }, + /*::[*/0x0193/*::]*/: { n:"BrtEOF", f:parsenoop }, + /*::[*/0x0194/*::]*/: { n:"BrtUCR", f:parsenoop }, + /*::[*/0x0195/*::]*/: { n:"BrtRRInsDel", f:parsenoop }, + /*::[*/0x0196/*::]*/: { n:"BrtRREndInsDel", f:parsenoop }, + /*::[*/0x0197/*::]*/: { n:"BrtRRMove", f:parsenoop }, + /*::[*/0x0198/*::]*/: { n:"BrtRREndMove", f:parsenoop }, + /*::[*/0x0199/*::]*/: { n:"BrtRRChgCell", f:parsenoop }, + /*::[*/0x019A/*::]*/: { n:"BrtRREndChgCell", f:parsenoop }, + /*::[*/0x019B/*::]*/: { n:"BrtRRHeader", f:parsenoop }, + /*::[*/0x019C/*::]*/: { n:"BrtRRUserView", f:parsenoop }, + /*::[*/0x019D/*::]*/: { n:"BrtRRRenSheet", f:parsenoop }, + /*::[*/0x019E/*::]*/: { n:"BrtRRInsertSh", f:parsenoop }, + /*::[*/0x019F/*::]*/: { n:"BrtRRDefName", f:parsenoop }, + /*::[*/0x01A0/*::]*/: { n:"BrtRRNote", f:parsenoop }, + /*::[*/0x01A1/*::]*/: { n:"BrtRRConflict", f:parsenoop }, + /*::[*/0x01A2/*::]*/: { n:"BrtRRTQSIF", f:parsenoop }, + /*::[*/0x01A3/*::]*/: { n:"BrtRRFormat", f:parsenoop }, + /*::[*/0x01A4/*::]*/: { n:"BrtRREndFormat", f:parsenoop }, + /*::[*/0x01A5/*::]*/: { n:"BrtRRAutoFmt", f:parsenoop }, + /*::[*/0x01A6/*::]*/: { n:"BrtBeginUserShViews", f:parsenoop }, + /*::[*/0x01A7/*::]*/: { n:"BrtBeginUserShView", f:parsenoop }, + /*::[*/0x01A8/*::]*/: { n:"BrtEndUserShView", f:parsenoop }, + /*::[*/0x01A9/*::]*/: { n:"BrtEndUserShViews", f:parsenoop }, + /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parsenoop }, + /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parsenoop }, + /*::[*/0x01AC/*::]*/: { n:"BrtTable", f:parsenoop }, + /*::[*/0x01AD/*::]*/: { n:"BrtBeginExtConnections", f:parsenoop }, + /*::[*/0x01AE/*::]*/: { n:"BrtEndExtConnections", f:parsenoop }, + /*::[*/0x01AF/*::]*/: { n:"BrtBeginPCDCalcMems", f:parsenoop }, + /*::[*/0x01B0/*::]*/: { n:"BrtEndPCDCalcMems", f:parsenoop }, + /*::[*/0x01B1/*::]*/: { n:"BrtBeginPCDCalcMem", f:parsenoop }, + /*::[*/0x01B2/*::]*/: { n:"BrtEndPCDCalcMem", f:parsenoop }, + /*::[*/0x01B3/*::]*/: { n:"BrtBeginPCDHGLevels", f:parsenoop }, + /*::[*/0x01B4/*::]*/: { n:"BrtEndPCDHGLevels", f:parsenoop }, + /*::[*/0x01B5/*::]*/: { n:"BrtBeginPCDHGLevel", f:parsenoop }, + /*::[*/0x01B6/*::]*/: { n:"BrtEndPCDHGLevel", f:parsenoop }, + /*::[*/0x01B7/*::]*/: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, + /*::[*/0x01B8/*::]*/: { n:"BrtEndPCDHGLGroups", f:parsenoop }, + /*::[*/0x01B9/*::]*/: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, + /*::[*/0x01BA/*::]*/: { n:"BrtEndPCDHGLGroup", f:parsenoop }, + /*::[*/0x01BB/*::]*/: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, + /*::[*/0x01BC/*::]*/: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, + /*::[*/0x01BD/*::]*/: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, + /*::[*/0x01BE/*::]*/: { n:"BrtEndPCDHGLGMember", f:parsenoop }, + /*::[*/0x01BF/*::]*/: { n:"BrtBeginQSI", f:parsenoop }, + /*::[*/0x01C0/*::]*/: { n:"BrtEndQSI", f:parsenoop }, + /*::[*/0x01C1/*::]*/: { n:"BrtBeginQSIR", f:parsenoop }, + /*::[*/0x01C2/*::]*/: { n:"BrtEndQSIR", f:parsenoop }, + /*::[*/0x01C3/*::]*/: { n:"BrtBeginDeletedNames", f:parsenoop }, + /*::[*/0x01C4/*::]*/: { n:"BrtEndDeletedNames", f:parsenoop }, + /*::[*/0x01C5/*::]*/: { n:"BrtBeginDeletedName", f:parsenoop }, + /*::[*/0x01C6/*::]*/: { n:"BrtEndDeletedName", f:parsenoop }, + /*::[*/0x01C7/*::]*/: { n:"BrtBeginQSIFs", f:parsenoop }, + /*::[*/0x01C8/*::]*/: { n:"BrtEndQSIFs", f:parsenoop }, + /*::[*/0x01C9/*::]*/: { n:"BrtBeginQSIF", f:parsenoop }, + /*::[*/0x01CA/*::]*/: { n:"BrtEndQSIF", f:parsenoop }, + /*::[*/0x01CB/*::]*/: { n:"BrtBeginAutoSortScope", f:parsenoop }, + /*::[*/0x01CC/*::]*/: { n:"BrtEndAutoSortScope", f:parsenoop }, + /*::[*/0x01CD/*::]*/: { n:"BrtBeginConditionalFormatting", f:parsenoop }, + /*::[*/0x01CE/*::]*/: { n:"BrtEndConditionalFormatting", f:parsenoop }, + /*::[*/0x01CF/*::]*/: { n:"BrtBeginCFRule", f:parsenoop }, + /*::[*/0x01D0/*::]*/: { n:"BrtEndCFRule", f:parsenoop }, + /*::[*/0x01D1/*::]*/: { n:"BrtBeginIconSet", f:parsenoop }, + /*::[*/0x01D2/*::]*/: { n:"BrtEndIconSet", f:parsenoop }, + /*::[*/0x01D3/*::]*/: { n:"BrtBeginDatabar", f:parsenoop }, + /*::[*/0x01D4/*::]*/: { n:"BrtEndDatabar", f:parsenoop }, + /*::[*/0x01D5/*::]*/: { n:"BrtBeginColorScale", f:parsenoop }, + /*::[*/0x01D6/*::]*/: { n:"BrtEndColorScale", f:parsenoop }, + /*::[*/0x01D7/*::]*/: { n:"BrtCFVO", f:parsenoop }, + /*::[*/0x01D8/*::]*/: { n:"BrtExternValueMeta", f:parsenoop }, + /*::[*/0x01D9/*::]*/: { n:"BrtBeginColorPalette", f:parsenoop }, + /*::[*/0x01DA/*::]*/: { n:"BrtEndColorPalette", f:parsenoop }, + /*::[*/0x01DB/*::]*/: { n:"BrtIndexedColor", f:parsenoop }, + /*::[*/0x01DC/*::]*/: { n:"BrtMargins", f:parsenoop }, + /*::[*/0x01DD/*::]*/: { n:"BrtPrintOptions", f:parsenoop }, + /*::[*/0x01DE/*::]*/: { n:"BrtPageSetup", f:parsenoop }, + /*::[*/0x01DF/*::]*/: { n:"BrtBeginHeaderFooter", f:parsenoop }, + /*::[*/0x01E0/*::]*/: { n:"BrtEndHeaderFooter", f:parsenoop }, + /*::[*/0x01E1/*::]*/: { n:"BrtBeginSXCrtFormat", f:parsenoop }, + /*::[*/0x01E2/*::]*/: { n:"BrtEndSXCrtFormat", f:parsenoop }, + /*::[*/0x01E3/*::]*/: { n:"BrtBeginSXCrtFormats", f:parsenoop }, + /*::[*/0x01E4/*::]*/: { n:"BrtEndSXCrtFormats", f:parsenoop }, + /*::[*/0x01E5/*::]*/: { n:"BrtWsFmtInfo", f:parsenoop }, + /*::[*/0x01E6/*::]*/: { n:"BrtBeginMgs", f:parsenoop }, + /*::[*/0x01E7/*::]*/: { n:"BrtEndMGs", f:parsenoop }, + /*::[*/0x01E8/*::]*/: { n:"BrtBeginMGMaps", f:parsenoop }, + /*::[*/0x01E9/*::]*/: { n:"BrtEndMGMaps", f:parsenoop }, + /*::[*/0x01EA/*::]*/: { n:"BrtBeginMG", f:parsenoop }, + /*::[*/0x01EB/*::]*/: { n:"BrtEndMG", f:parsenoop }, + /*::[*/0x01EC/*::]*/: { n:"BrtBeginMap", f:parsenoop }, + /*::[*/0x01ED/*::]*/: { n:"BrtEndMap", f:parsenoop }, + /*::[*/0x01EE/*::]*/: { n:"BrtHLink", f:parse_BrtHLink }, + /*::[*/0x01EF/*::]*/: { n:"BrtBeginDCon", f:parsenoop }, + /*::[*/0x01F0/*::]*/: { n:"BrtEndDCon", f:parsenoop }, + /*::[*/0x01F1/*::]*/: { n:"BrtBeginDRefs", f:parsenoop }, + /*::[*/0x01F2/*::]*/: { n:"BrtEndDRefs", f:parsenoop }, + /*::[*/0x01F3/*::]*/: { n:"BrtDRef", f:parsenoop }, + /*::[*/0x01F4/*::]*/: { n:"BrtBeginScenMan", f:parsenoop }, + /*::[*/0x01F5/*::]*/: { n:"BrtEndScenMan", f:parsenoop }, + /*::[*/0x01F6/*::]*/: { n:"BrtBeginSct", f:parsenoop }, + /*::[*/0x01F7/*::]*/: { n:"BrtEndSct", f:parsenoop }, + /*::[*/0x01F8/*::]*/: { n:"BrtSlc", f:parsenoop }, + /*::[*/0x01F9/*::]*/: { n:"BrtBeginDXFs", f:parsenoop }, + /*::[*/0x01FA/*::]*/: { n:"BrtEndDXFs", f:parsenoop }, + /*::[*/0x01FB/*::]*/: { n:"BrtDXF", f:parsenoop }, + /*::[*/0x01FC/*::]*/: { n:"BrtBeginTableStyles", f:parsenoop }, + /*::[*/0x01FD/*::]*/: { n:"BrtEndTableStyles", f:parsenoop }, + /*::[*/0x01FE/*::]*/: { n:"BrtBeginTableStyle", f:parsenoop }, + /*::[*/0x01FF/*::]*/: { n:"BrtEndTableStyle", f:parsenoop }, + /*::[*/0x0200/*::]*/: { n:"BrtTableStyleElement", f:parsenoop }, + /*::[*/0x0201/*::]*/: { n:"BrtTableStyleClient", f:parsenoop }, + /*::[*/0x0202/*::]*/: { n:"BrtBeginVolDeps", f:parsenoop }, + /*::[*/0x0203/*::]*/: { n:"BrtEndVolDeps", f:parsenoop }, + /*::[*/0x0204/*::]*/: { n:"BrtBeginVolType", f:parsenoop }, + /*::[*/0x0205/*::]*/: { n:"BrtEndVolType", f:parsenoop }, + /*::[*/0x0206/*::]*/: { n:"BrtBeginVolMain", f:parsenoop }, + /*::[*/0x0207/*::]*/: { n:"BrtEndVolMain", f:parsenoop }, + /*::[*/0x0208/*::]*/: { n:"BrtBeginVolTopic", f:parsenoop }, + /*::[*/0x0209/*::]*/: { n:"BrtEndVolTopic", f:parsenoop }, + /*::[*/0x020A/*::]*/: { n:"BrtVolSubtopic", f:parsenoop }, + /*::[*/0x020B/*::]*/: { n:"BrtVolRef", f:parsenoop }, + /*::[*/0x020C/*::]*/: { n:"BrtVolNum", f:parsenoop }, + /*::[*/0x020D/*::]*/: { n:"BrtVolErr", f:parsenoop }, + /*::[*/0x020E/*::]*/: { n:"BrtVolStr", f:parsenoop }, + /*::[*/0x020F/*::]*/: { n:"BrtVolBool", f:parsenoop }, + /*::[*/0x0210/*::]*/: { n:"BrtBeginCalcChain$", f:parsenoop }, + /*::[*/0x0211/*::]*/: { n:"BrtEndCalcChain$", f:parsenoop }, + /*::[*/0x0212/*::]*/: { n:"BrtBeginSortState", f:parsenoop }, + /*::[*/0x0213/*::]*/: { n:"BrtEndSortState", f:parsenoop }, + /*::[*/0x0214/*::]*/: { n:"BrtBeginSortCond", f:parsenoop }, + /*::[*/0x0215/*::]*/: { n:"BrtEndSortCond", f:parsenoop }, + /*::[*/0x0216/*::]*/: { n:"BrtBookProtection", f:parsenoop }, + /*::[*/0x0217/*::]*/: { n:"BrtSheetProtection", f:parsenoop }, + /*::[*/0x0218/*::]*/: { n:"BrtRangeProtection", f:parsenoop }, + /*::[*/0x0219/*::]*/: { n:"BrtPhoneticInfo", f:parsenoop }, + /*::[*/0x021A/*::]*/: { n:"BrtBeginECTxtWiz", f:parsenoop }, + /*::[*/0x021B/*::]*/: { n:"BrtEndECTxtWiz", f:parsenoop }, + /*::[*/0x021C/*::]*/: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, + /*::[*/0x021D/*::]*/: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, + /*::[*/0x021E/*::]*/: { n:"BrtBeginECTwFldInfo", f:parsenoop }, + /*::[*/0x0224/*::]*/: { n:"BrtFileSharing", f:parsenoop }, + /*::[*/0x0225/*::]*/: { n:"BrtOleSize", f:parsenoop }, + /*::[*/0x0226/*::]*/: { n:"BrtDrawing", f:parsenoop }, + /*::[*/0x0227/*::]*/: { n:"BrtLegacyDrawing", f:parsenoop }, + /*::[*/0x0228/*::]*/: { n:"BrtLegacyDrawingHF", f:parsenoop }, + /*::[*/0x0229/*::]*/: { n:"BrtWebOpt", f:parsenoop }, + /*::[*/0x022A/*::]*/: { n:"BrtBeginWebPubItems", f:parsenoop }, + /*::[*/0x022B/*::]*/: { n:"BrtEndWebPubItems", f:parsenoop }, + /*::[*/0x022C/*::]*/: { n:"BrtBeginWebPubItem", f:parsenoop }, + /*::[*/0x022D/*::]*/: { n:"BrtEndWebPubItem", f:parsenoop }, + /*::[*/0x022E/*::]*/: { n:"BrtBeginSXCondFmt", f:parsenoop }, + /*::[*/0x022F/*::]*/: { n:"BrtEndSXCondFmt", f:parsenoop }, + /*::[*/0x0230/*::]*/: { n:"BrtBeginSXCondFmts", f:parsenoop }, + /*::[*/0x0231/*::]*/: { n:"BrtEndSXCondFmts", f:parsenoop }, + /*::[*/0x0232/*::]*/: { n:"BrtBkHim", f:parsenoop }, + /*::[*/0x0234/*::]*/: { n:"BrtColor", f:parsenoop }, + /*::[*/0x0235/*::]*/: { n:"BrtBeginIndexedColors", f:parsenoop }, + /*::[*/0x0236/*::]*/: { n:"BrtEndIndexedColors", f:parsenoop }, + /*::[*/0x0239/*::]*/: { n:"BrtBeginMRUColors", f:parsenoop }, + /*::[*/0x023A/*::]*/: { n:"BrtEndMRUColors", f:parsenoop }, + /*::[*/0x023C/*::]*/: { n:"BrtMRUColor", f:parsenoop }, + /*::[*/0x023D/*::]*/: { n:"BrtBeginDVals", f:parsenoop }, + /*::[*/0x023E/*::]*/: { n:"BrtEndDVals", f:parsenoop }, + /*::[*/0x0241/*::]*/: { n:"BrtSupNameStart", f:parsenoop }, + /*::[*/0x0242/*::]*/: { n:"BrtSupNameValueStart", f:parsenoop }, + /*::[*/0x0243/*::]*/: { n:"BrtSupNameValueEnd", f:parsenoop }, + /*::[*/0x0244/*::]*/: { n:"BrtSupNameNum", f:parsenoop }, + /*::[*/0x0245/*::]*/: { n:"BrtSupNameErr", f:parsenoop }, + /*::[*/0x0246/*::]*/: { n:"BrtSupNameSt", f:parsenoop }, + /*::[*/0x0247/*::]*/: { n:"BrtSupNameNil", f:parsenoop }, + /*::[*/0x0248/*::]*/: { n:"BrtSupNameBool", f:parsenoop }, + /*::[*/0x0249/*::]*/: { n:"BrtSupNameFmla", f:parsenoop }, + /*::[*/0x024A/*::]*/: { n:"BrtSupNameBits", f:parsenoop }, + /*::[*/0x024B/*::]*/: { n:"BrtSupNameEnd", f:parsenoop }, + /*::[*/0x024C/*::]*/: { n:"BrtEndSupBook", f:parsenoop }, + /*::[*/0x024D/*::]*/: { n:"BrtCellSmartTagProperty", f:parsenoop }, + /*::[*/0x024E/*::]*/: { n:"BrtBeginCellSmartTag", f:parsenoop }, + /*::[*/0x024F/*::]*/: { n:"BrtEndCellSmartTag", f:parsenoop }, + /*::[*/0x0250/*::]*/: { n:"BrtBeginCellSmartTags", f:parsenoop }, + /*::[*/0x0251/*::]*/: { n:"BrtEndCellSmartTags", f:parsenoop }, + /*::[*/0x0252/*::]*/: { n:"BrtBeginSmartTags", f:parsenoop }, + /*::[*/0x0253/*::]*/: { n:"BrtEndSmartTags", f:parsenoop }, + /*::[*/0x0254/*::]*/: { n:"BrtSmartTagType", f:parsenoop }, + /*::[*/0x0255/*::]*/: { n:"BrtBeginSmartTagTypes", f:parsenoop }, + /*::[*/0x0256/*::]*/: { n:"BrtEndSmartTagTypes", f:parsenoop }, + /*::[*/0x0257/*::]*/: { n:"BrtBeginSXFilters", f:parsenoop }, + /*::[*/0x0258/*::]*/: { n:"BrtEndSXFilters", f:parsenoop }, + /*::[*/0x0259/*::]*/: { n:"BrtBeginSXFILTER", f:parsenoop }, + /*::[*/0x025A/*::]*/: { n:"BrtEndSXFilter", f:parsenoop }, + /*::[*/0x025B/*::]*/: { n:"BrtBeginFills", f:parsenoop }, + /*::[*/0x025C/*::]*/: { n:"BrtEndFills", f:parsenoop }, + /*::[*/0x025D/*::]*/: { n:"BrtBeginCellWatches", f:parsenoop }, + /*::[*/0x025E/*::]*/: { n:"BrtEndCellWatches", f:parsenoop }, + /*::[*/0x025F/*::]*/: { n:"BrtCellWatch", f:parsenoop }, + /*::[*/0x0260/*::]*/: { n:"BrtBeginCRErrs", f:parsenoop }, + /*::[*/0x0261/*::]*/: { n:"BrtEndCRErrs", f:parsenoop }, + /*::[*/0x0262/*::]*/: { n:"BrtCrashRecErr", f:parsenoop }, + /*::[*/0x0263/*::]*/: { n:"BrtBeginFonts", f:parsenoop }, + /*::[*/0x0264/*::]*/: { n:"BrtEndFonts", f:parsenoop }, + /*::[*/0x0265/*::]*/: { n:"BrtBeginBorders", f:parsenoop }, + /*::[*/0x0266/*::]*/: { n:"BrtEndBorders", f:parsenoop }, + /*::[*/0x0267/*::]*/: { n:"BrtBeginFmts", f:parsenoop }, + /*::[*/0x0268/*::]*/: { n:"BrtEndFmts", f:parsenoop }, + /*::[*/0x0269/*::]*/: { n:"BrtBeginCellXFs", f:parsenoop }, + /*::[*/0x026A/*::]*/: { n:"BrtEndCellXFs", f:parsenoop }, + /*::[*/0x026B/*::]*/: { n:"BrtBeginStyles", f:parsenoop }, + /*::[*/0x026C/*::]*/: { n:"BrtEndStyles", f:parsenoop }, + /*::[*/0x0271/*::]*/: { n:"BrtBigName", f:parsenoop }, + /*::[*/0x0272/*::]*/: { n:"BrtBeginCellStyleXFs", f:parsenoop }, + /*::[*/0x0273/*::]*/: { n:"BrtEndCellStyleXFs", f:parsenoop }, + /*::[*/0x0274/*::]*/: { n:"BrtBeginComments", f:parsenoop }, + /*::[*/0x0275/*::]*/: { n:"BrtEndComments", f:parsenoop }, + /*::[*/0x0276/*::]*/: { n:"BrtBeginCommentAuthors", f:parsenoop }, + /*::[*/0x0277/*::]*/: { n:"BrtEndCommentAuthors", f:parsenoop }, + /*::[*/0x0278/*::]*/: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, + /*::[*/0x0279/*::]*/: { n:"BrtBeginCommentList", f:parsenoop }, + /*::[*/0x027A/*::]*/: { n:"BrtEndCommentList", f:parsenoop }, + /*::[*/0x027B/*::]*/: { n:"BrtBeginComment", f:parse_BrtBeginComment}, + /*::[*/0x027C/*::]*/: { n:"BrtEndComment", f:parsenoop }, + /*::[*/0x027D/*::]*/: { n:"BrtCommentText", f:parse_BrtCommentText }, + /*::[*/0x027E/*::]*/: { n:"BrtBeginOleObjects", f:parsenoop }, + /*::[*/0x027F/*::]*/: { n:"BrtOleObject", f:parsenoop }, + /*::[*/0x0280/*::]*/: { n:"BrtEndOleObjects", f:parsenoop }, + /*::[*/0x0281/*::]*/: { n:"BrtBeginSxrules", f:parsenoop }, + /*::[*/0x0282/*::]*/: { n:"BrtEndSxRules", f:parsenoop }, + /*::[*/0x0283/*::]*/: { n:"BrtBeginActiveXControls", f:parsenoop }, + /*::[*/0x0284/*::]*/: { n:"BrtActiveX", f:parsenoop }, + /*::[*/0x0285/*::]*/: { n:"BrtEndActiveXControls", f:parsenoop }, + /*::[*/0x0286/*::]*/: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, + /*::[*/0x0288/*::]*/: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, + /*::[*/0x0289/*::]*/: { n:"BrtCellIgnoreEC", f:parsenoop }, + /*::[*/0x028A/*::]*/: { n:"BrtEndCellIgnoreECs", f:parsenoop }, + /*::[*/0x028B/*::]*/: { n:"BrtCsProp", f:parsenoop }, + /*::[*/0x028C/*::]*/: { n:"BrtCsPageSetup", f:parsenoop }, + /*::[*/0x028D/*::]*/: { n:"BrtBeginUserCsViews", f:parsenoop }, + /*::[*/0x028E/*::]*/: { n:"BrtEndUserCsViews", f:parsenoop }, + /*::[*/0x028F/*::]*/: { n:"BrtBeginUserCsView", f:parsenoop }, + /*::[*/0x0290/*::]*/: { n:"BrtEndUserCsView", f:parsenoop }, + /*::[*/0x0291/*::]*/: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, + /*::[*/0x0292/*::]*/: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, + /*::[*/0x0293/*::]*/: { n:"BrtPCDSFCIEntry", f:parsenoop }, + /*::[*/0x0294/*::]*/: { n:"BrtBeginListParts", f:parsenoop }, + /*::[*/0x0295/*::]*/: { n:"BrtListPart", f:parsenoop }, + /*::[*/0x0296/*::]*/: { n:"BrtEndListParts", f:parsenoop }, + /*::[*/0x0297/*::]*/: { n:"BrtSheetCalcProp", f:parsenoop }, + /*::[*/0x0298/*::]*/: { n:"BrtBeginFnGroup", f:parsenoop }, + /*::[*/0x0299/*::]*/: { n:"BrtFnGroup", f:parsenoop }, + /*::[*/0x029A/*::]*/: { n:"BrtEndFnGroup", f:parsenoop }, + /*::[*/0x029B/*::]*/: { n:"BrtSupAddin", f:parsenoop }, + /*::[*/0x029C/*::]*/: { n:"BrtSXTDMPOrder", f:parsenoop }, + /*::[*/0x029D/*::]*/: { n:"BrtCsProtection", f:parsenoop }, + /*::[*/0x029F/*::]*/: { n:"BrtBeginWsSortMap", f:parsenoop }, + /*::[*/0x02A0/*::]*/: { n:"BrtEndWsSortMap", f:parsenoop }, + /*::[*/0x02A1/*::]*/: { n:"BrtBeginRRSort", f:parsenoop }, + /*::[*/0x02A2/*::]*/: { n:"BrtEndRRSort", f:parsenoop }, + /*::[*/0x02A3/*::]*/: { n:"BrtRRSortItem", f:parsenoop }, + /*::[*/0x02A4/*::]*/: { n:"BrtFileSharingIso", f:parsenoop }, + /*::[*/0x02A5/*::]*/: { n:"BrtBookProtectionIso", f:parsenoop }, + /*::[*/0x02A6/*::]*/: { n:"BrtSheetProtectionIso", f:parsenoop }, + /*::[*/0x02A7/*::]*/: { n:"BrtCsProtectionIso", f:parsenoop }, + /*::[*/0x02A8/*::]*/: { n:"BrtRangeProtectionIso", f:parsenoop }, + /*::[*/0x0400/*::]*/: { n:"BrtRwDescent", f:parsenoop }, + /*::[*/0x0401/*::]*/: { n:"BrtKnownFonts", f:parsenoop }, + /*::[*/0x0402/*::]*/: { n:"BrtBeginSXTupleSet", f:parsenoop }, + /*::[*/0x0403/*::]*/: { n:"BrtEndSXTupleSet", f:parsenoop }, + /*::[*/0x0404/*::]*/: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, + /*::[*/0x0405/*::]*/: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, + /*::[*/0x0406/*::]*/: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, + /*::[*/0x0407/*::]*/: { n:"BrtBeginSXTupleSetData", f:parsenoop }, + /*::[*/0x0408/*::]*/: { n:"BrtEndSXTupleSetData", f:parsenoop }, + /*::[*/0x0409/*::]*/: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, + /*::[*/0x040A/*::]*/: { n:"BrtEndSXTupleSetRow", f:parsenoop }, + /*::[*/0x040B/*::]*/: { n:"BrtSXTupleSetRowItem", f:parsenoop }, + /*::[*/0x040C/*::]*/: { n:"BrtNameExt", f:parsenoop }, + /*::[*/0x040D/*::]*/: { n:"BrtPCDH14", f:parsenoop }, + /*::[*/0x040E/*::]*/: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, + /*::[*/0x040F/*::]*/: { n:"BrtEndPCDCalcMem14", f:parsenoop }, + /*::[*/0x0410/*::]*/: { n:"BrtSXTH14", f:parsenoop }, + /*::[*/0x0411/*::]*/: { n:"BrtBeginSparklineGroup", f:parsenoop }, + /*::[*/0x0412/*::]*/: { n:"BrtEndSparklineGroup", f:parsenoop }, + /*::[*/0x0413/*::]*/: { n:"BrtSparkline", f:parsenoop }, + /*::[*/0x0414/*::]*/: { n:"BrtSXDI14", f:parsenoop }, + /*::[*/0x0415/*::]*/: { n:"BrtWsFmtInfoEx14", f:parsenoop }, + /*::[*/0x0416/*::]*/: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, + /*::[*/0x0417/*::]*/: { n:"BrtEndConditionalFormatting14", f:parsenoop }, + /*::[*/0x0418/*::]*/: { n:"BrtBeginCFRule14", f:parsenoop }, + /*::[*/0x0419/*::]*/: { n:"BrtEndCFRule14", f:parsenoop }, + /*::[*/0x041A/*::]*/: { n:"BrtCFVO14", f:parsenoop }, + /*::[*/0x041B/*::]*/: { n:"BrtBeginDatabar14", f:parsenoop }, + /*::[*/0x041C/*::]*/: { n:"BrtBeginIconSet14", f:parsenoop }, + /*::[*/0x041D/*::]*/: { n:"BrtDVal14", f:parsenoop }, + /*::[*/0x041E/*::]*/: { n:"BrtBeginDVals14", f:parsenoop }, + /*::[*/0x041F/*::]*/: { n:"BrtColor14", f:parsenoop }, + /*::[*/0x0420/*::]*/: { n:"BrtBeginSparklines", f:parsenoop }, + /*::[*/0x0421/*::]*/: { n:"BrtEndSparklines", f:parsenoop }, + /*::[*/0x0422/*::]*/: { n:"BrtBeginSparklineGroups", f:parsenoop }, + /*::[*/0x0423/*::]*/: { n:"BrtEndSparklineGroups", f:parsenoop }, + /*::[*/0x0425/*::]*/: { n:"BrtSXVD14", f:parsenoop }, + /*::[*/0x0426/*::]*/: { n:"BrtBeginSxview14", f:parsenoop }, + /*::[*/0x0427/*::]*/: { n:"BrtEndSxview14", f:parsenoop }, + /*::[*/0x042A/*::]*/: { n:"BrtBeginPCD14", f:parsenoop }, + /*::[*/0x042B/*::]*/: { n:"BrtEndPCD14", f:parsenoop }, + /*::[*/0x042C/*::]*/: { n:"BrtBeginExtConn14", f:parsenoop }, + /*::[*/0x042D/*::]*/: { n:"BrtEndExtConn14", f:parsenoop }, + /*::[*/0x042E/*::]*/: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, + /*::[*/0x042F/*::]*/: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, + /*::[*/0x0430/*::]*/: { n:"BrtBeginSlicerCacheID", f:parsenoop }, + /*::[*/0x0431/*::]*/: { n:"BrtEndSlicerCacheID", f:parsenoop }, + /*::[*/0x0433/*::]*/: { n:"BrtBeginSlicerCache", f:parsenoop }, + /*::[*/0x0434/*::]*/: { n:"BrtEndSlicerCache", f:parsenoop }, + /*::[*/0x0435/*::]*/: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, + /*::[*/0x0436/*::]*/: { n:"BrtEndSlicerCacheDef", f:parsenoop }, + /*::[*/0x0437/*::]*/: { n:"BrtBeginSlicersEx", f:parsenoop }, + /*::[*/0x0438/*::]*/: { n:"BrtEndSlicersEx", f:parsenoop }, + /*::[*/0x0439/*::]*/: { n:"BrtBeginSlicerEx", f:parsenoop }, + /*::[*/0x043A/*::]*/: { n:"BrtEndSlicerEx", f:parsenoop }, + /*::[*/0x043B/*::]*/: { n:"BrtBeginSlicer", f:parsenoop }, + /*::[*/0x043C/*::]*/: { n:"BrtEndSlicer", f:parsenoop }, + /*::[*/0x043D/*::]*/: { n:"BrtSlicerCachePivotTables", f:parsenoop }, + /*::[*/0x043E/*::]*/: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, + /*::[*/0x043F/*::]*/: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, + /*::[*/0x0440/*::]*/: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, + /*::[*/0x0441/*::]*/: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, + /*::[*/0x0442/*::]*/: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, + /*::[*/0x0443/*::]*/: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, + /*::[*/0x0444/*::]*/: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, + /*::[*/0x0445/*::]*/: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, + /*::[*/0x0446/*::]*/: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, + /*::[*/0x0447/*::]*/: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, + /*::[*/0x0448/*::]*/: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, + /*::[*/0x0449/*::]*/: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, + /*::[*/0x044A/*::]*/: { n:"BrtSlicerCacheSelection", f:parsenoop }, + /*::[*/0x044B/*::]*/: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, + /*::[*/0x044C/*::]*/: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, + /*::[*/0x044D/*::]*/: { n:"BrtEndSlicerCacheNative", f:parsenoop }, + /*::[*/0x044E/*::]*/: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, + /*::[*/0x044F/*::]*/: { n:"BrtRangeProtection14", f:parsenoop }, + /*::[*/0x0450/*::]*/: { n:"BrtRangeProtectionIso14", f:parsenoop }, + /*::[*/0x0451/*::]*/: { n:"BrtCellIgnoreEC14", f:parsenoop }, + /*::[*/0x0457/*::]*/: { n:"BrtList14", f:parsenoop }, + /*::[*/0x0458/*::]*/: { n:"BrtCFIcon", f:parsenoop }, + /*::[*/0x0459/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, + /*::[*/0x045A/*::]*/: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, + /*::[*/0x045B/*::]*/: { n:"BrtBeginSlicers", f:parsenoop }, + /*::[*/0x045C/*::]*/: { n:"BrtEndSlicers", f:parsenoop }, + /*::[*/0x045D/*::]*/: { n:"BrtWbProp14", f:parsenoop }, + /*::[*/0x045E/*::]*/: { n:"BrtBeginSXEdit", f:parsenoop }, + /*::[*/0x045F/*::]*/: { n:"BrtEndSXEdit", f:parsenoop }, + /*::[*/0x0460/*::]*/: { n:"BrtBeginSXEdits", f:parsenoop }, + /*::[*/0x0461/*::]*/: { n:"BrtEndSXEdits", f:parsenoop }, + /*::[*/0x0462/*::]*/: { n:"BrtBeginSXChange", f:parsenoop }, + /*::[*/0x0463/*::]*/: { n:"BrtEndSXChange", f:parsenoop }, + /*::[*/0x0464/*::]*/: { n:"BrtBeginSXChanges", f:parsenoop }, + /*::[*/0x0465/*::]*/: { n:"BrtEndSXChanges", f:parsenoop }, + /*::[*/0x0466/*::]*/: { n:"BrtSXTupleItems", f:parsenoop }, + /*::[*/0x0468/*::]*/: { n:"BrtBeginSlicerStyle", f:parsenoop }, + /*::[*/0x0469/*::]*/: { n:"BrtEndSlicerStyle", f:parsenoop }, + /*::[*/0x046A/*::]*/: { n:"BrtSlicerStyleElement", f:parsenoop }, + /*::[*/0x046B/*::]*/: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, + /*::[*/0x046C/*::]*/: { n:"BrtEndStyleSheetExt14", f:parsenoop }, + /*::[*/0x046D/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, + /*::[*/0x046E/*::]*/: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, + /*::[*/0x046F/*::]*/: { n:"BrtBeginConditionalFormattings", f:parsenoop }, + /*::[*/0x0470/*::]*/: { n:"BrtEndConditionalFormattings", f:parsenoop }, + /*::[*/0x0471/*::]*/: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, + /*::[*/0x0472/*::]*/: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, + /*::[*/0x0473/*::]*/: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, + /*::[*/0x0474/*::]*/: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, + /*::[*/0x0475/*::]*/: { n:"BrtPCDField14", f:parsenoop }, + /*::[*/0x0476/*::]*/: { n:"BrtBeginSlicerStyles", f:parsenoop }, + /*::[*/0x0477/*::]*/: { n:"BrtEndSlicerStyles", f:parsenoop }, + /*::[*/0x0478/*::]*/: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, + /*::[*/0x0479/*::]*/: { n:"BrtEndSlicerStyleElements", f:parsenoop }, + /*::[*/0x047A/*::]*/: { n:"BrtCFRuleExt", f:parsenoop }, + /*::[*/0x047B/*::]*/: { n:"BrtBeginSXCondFmt14", f:parsenoop }, + /*::[*/0x047C/*::]*/: { n:"BrtEndSXCondFmt14", f:parsenoop }, + /*::[*/0x047D/*::]*/: { n:"BrtBeginSXCondFmts14", f:parsenoop }, + /*::[*/0x047E/*::]*/: { n:"BrtEndSXCondFmts14", f:parsenoop }, + /*::[*/0x0480/*::]*/: { n:"BrtBeginSortCond14", f:parsenoop }, + /*::[*/0x0481/*::]*/: { n:"BrtEndSortCond14", f:parsenoop }, + /*::[*/0x0482/*::]*/: { n:"BrtEndDVals14", f:parsenoop }, + /*::[*/0x0483/*::]*/: { n:"BrtEndIconSet14", f:parsenoop }, + /*::[*/0x0484/*::]*/: { n:"BrtEndDatabar14", f:parsenoop }, + /*::[*/0x0485/*::]*/: { n:"BrtBeginColorScale14", f:parsenoop }, + /*::[*/0x0486/*::]*/: { n:"BrtEndColorScale14", f:parsenoop }, + /*::[*/0x0487/*::]*/: { n:"BrtBeginSxrules14", f:parsenoop }, + /*::[*/0x0488/*::]*/: { n:"BrtEndSxrules14", f:parsenoop }, + /*::[*/0x0489/*::]*/: { n:"BrtBeginPRule14", f:parsenoop }, + /*::[*/0x048A/*::]*/: { n:"BrtEndPRule14", f:parsenoop }, + /*::[*/0x048B/*::]*/: { n:"BrtBeginPRFilters14", f:parsenoop }, + /*::[*/0x048C/*::]*/: { n:"BrtEndPRFilters14", f:parsenoop }, + /*::[*/0x048D/*::]*/: { n:"BrtBeginPRFilter14", f:parsenoop }, + /*::[*/0x048E/*::]*/: { n:"BrtEndPRFilter14", f:parsenoop }, + /*::[*/0x048F/*::]*/: { n:"BrtBeginPRFItem14", f:parsenoop }, + /*::[*/0x0490/*::]*/: { n:"BrtEndPRFItem14", f:parsenoop }, + /*::[*/0x0491/*::]*/: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, + /*::[*/0x0492/*::]*/: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, + /*::[*/0x0493/*::]*/: { n:"BrtDxf14", f:parsenoop }, + /*::[*/0x0494/*::]*/: { n:"BrtBeginDxF14s", f:parsenoop }, + /*::[*/0x0495/*::]*/: { n:"BrtEndDxf14s", f:parsenoop }, + /*::[*/0x0499/*::]*/: { n:"BrtFilter14", f:parsenoop }, + /*::[*/0x049A/*::]*/: { n:"BrtBeginCustomFilters14", f:parsenoop }, + /*::[*/0x049C/*::]*/: { n:"BrtCustomFilter14", f:parsenoop }, + /*::[*/0x049D/*::]*/: { n:"BrtIconFilter14", f:parsenoop }, + /*::[*/0x049E/*::]*/: { n:"BrtPivotCacheConnectionName", f:parsenoop }, + /*::[*/0x0800/*::]*/: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, + /*::[*/0x0801/*::]*/: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, + /*::[*/0x0802/*::]*/: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, + /*::[*/0x0803/*::]*/: { n:"BrtBeginPivotTableRefs", f:parsenoop }, + /*::[*/0x0804/*::]*/: { n:"BrtEndPivotTableRefs", f:parsenoop }, + /*::[*/0x0805/*::]*/: { n:"BrtPivotTableRef", f:parsenoop }, + /*::[*/0x0806/*::]*/: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, + /*::[*/0x0807/*::]*/: { n:"BrtBeginSxvcells", f:parsenoop }, + /*::[*/0x0808/*::]*/: { n:"BrtEndSxvcells", f:parsenoop }, + /*::[*/0x0809/*::]*/: { n:"BrtBeginSxRow", f:parsenoop }, + /*::[*/0x080A/*::]*/: { n:"BrtEndSxRow", f:parsenoop }, + /*::[*/0x080C/*::]*/: { n:"BrtPcdCalcMem15", f:parsenoop }, + /*::[*/0x0813/*::]*/: { n:"BrtQsi15", f:parsenoop }, + /*::[*/0x0814/*::]*/: { n:"BrtBeginWebExtensions", f:parsenoop }, + /*::[*/0x0815/*::]*/: { n:"BrtEndWebExtensions", f:parsenoop }, + /*::[*/0x0816/*::]*/: { n:"BrtWebExtension", f:parsenoop }, + /*::[*/0x0817/*::]*/: { n:"BrtAbsPath15", f:parsenoop }, + /*::[*/0x0818/*::]*/: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, + /*::[*/0x0819/*::]*/: { n:"BrtEndPivotTableUISettings", f:parsenoop }, + /*::[*/0x081B/*::]*/: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, + /*::[*/0x081C/*::]*/: { n:"BrtTableSlicerCacheID", f:parsenoop }, + /*::[*/0x081D/*::]*/: { n:"BrtBeginTableSlicerCache", f:parsenoop }, + /*::[*/0x081E/*::]*/: { n:"BrtEndTableSlicerCache", f:parsenoop }, + /*::[*/0x081F/*::]*/: { n:"BrtSxFilter15", f:parsenoop }, + /*::[*/0x0820/*::]*/: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, + /*::[*/0x0821/*::]*/: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, + /*::[*/0x0822/*::]*/: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, + /*::[*/0x0823/*::]*/: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, + /*::[*/0x0824/*::]*/: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, + /*::[*/0x0825/*::]*/: { n:"BrtBeginTimelineCacheID", f:parsenoop }, + /*::[*/0x0826/*::]*/: { n:"BrtEndTimelineCacheID", f:parsenoop }, + /*::[*/0x0827/*::]*/: { n:"BrtBeginTimelinesEx", f:parsenoop }, + /*::[*/0x0828/*::]*/: { n:"BrtEndTimelinesEx", f:parsenoop }, + /*::[*/0x0829/*::]*/: { n:"BrtBeginTimelineEx", f:parsenoop }, + /*::[*/0x082A/*::]*/: { n:"BrtEndTimelineEx", f:parsenoop }, + /*::[*/0x082B/*::]*/: { n:"BrtWorkBookPr15", f:parsenoop }, + /*::[*/0x082C/*::]*/: { n:"BrtPCDH15", f:parsenoop }, + /*::[*/0x082D/*::]*/: { n:"BrtBeginTimelineStyle", f:parsenoop }, + /*::[*/0x082E/*::]*/: { n:"BrtEndTimelineStyle", f:parsenoop }, + /*::[*/0x082F/*::]*/: { n:"BrtTimelineStyleElement", f:parsenoop }, + /*::[*/0x0830/*::]*/: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, + /*::[*/0x0831/*::]*/: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, + /*::[*/0x0832/*::]*/: { n:"BrtBeginTimelineStyles", f:parsenoop }, + /*::[*/0x0833/*::]*/: { n:"BrtEndTimelineStyles", f:parsenoop }, + /*::[*/0x0834/*::]*/: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, + /*::[*/0x0835/*::]*/: { n:"BrtEndTimelineStyleElements", f:parsenoop }, + /*::[*/0x0836/*::]*/: { n:"BrtDxf15", f:parsenoop }, + /*::[*/0x0837/*::]*/: { n:"BrtBeginDxfs15", f:parsenoop }, + /*::[*/0x0838/*::]*/: { n:"brtEndDxfs15", f:parsenoop }, + /*::[*/0x0839/*::]*/: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, + /*::[*/0x083A/*::]*/: { n:"BrtBeginItemUniqueNames", f:parsenoop }, + /*::[*/0x083B/*::]*/: { n:"BrtEndItemUniqueNames", f:parsenoop }, + /*::[*/0x083C/*::]*/: { n:"BrtItemUniqueName", f:parsenoop }, + /*::[*/0x083D/*::]*/: { n:"BrtBeginExtConn15", f:parsenoop }, + /*::[*/0x083E/*::]*/: { n:"BrtEndExtConn15", f:parsenoop }, + /*::[*/0x083F/*::]*/: { n:"BrtBeginOledbPr15", f:parsenoop }, + /*::[*/0x0840/*::]*/: { n:"BrtEndOledbPr15", f:parsenoop }, + /*::[*/0x0841/*::]*/: { n:"BrtBeginDataFeedPr15", f:parsenoop }, + /*::[*/0x0842/*::]*/: { n:"BrtEndDataFeedPr15", f:parsenoop }, + /*::[*/0x0843/*::]*/: { n:"BrtTextPr15", f:parsenoop }, + /*::[*/0x0844/*::]*/: { n:"BrtRangePr15", f:parsenoop }, + /*::[*/0x0845/*::]*/: { n:"BrtDbCommand15", f:parsenoop }, + /*::[*/0x0846/*::]*/: { n:"BrtBeginDbTables15", f:parsenoop }, + /*::[*/0x0847/*::]*/: { n:"BrtEndDbTables15", f:parsenoop }, + /*::[*/0x0848/*::]*/: { n:"BrtDbTable15", f:parsenoop }, + /*::[*/0x0849/*::]*/: { n:"BrtBeginDataModel", f:parsenoop }, + /*::[*/0x084A/*::]*/: { n:"BrtEndDataModel", f:parsenoop }, + /*::[*/0x084B/*::]*/: { n:"BrtBeginModelTables", f:parsenoop }, + /*::[*/0x084C/*::]*/: { n:"BrtEndModelTables", f:parsenoop }, + /*::[*/0x084D/*::]*/: { n:"BrtModelTable", f:parsenoop }, + /*::[*/0x084E/*::]*/: { n:"BrtBeginModelRelationships", f:parsenoop }, + /*::[*/0x084F/*::]*/: { n:"BrtEndModelRelationships", f:parsenoop }, + /*::[*/0x0850/*::]*/: { n:"BrtModelRelationship", f:parsenoop }, + /*::[*/0x0851/*::]*/: { n:"BrtBeginECTxtWiz15", f:parsenoop }, + /*::[*/0x0852/*::]*/: { n:"BrtEndECTxtWiz15", f:parsenoop }, + /*::[*/0x0853/*::]*/: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, + /*::[*/0x0854/*::]*/: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, + /*::[*/0x0855/*::]*/: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, + /*::[*/0x0856/*::]*/: { n:"BrtFieldListActiveItem", f:parsenoop }, + /*::[*/0x0857/*::]*/: { n:"BrtPivotCacheIdVersion", f:parsenoop }, + /*::[*/0x0858/*::]*/: { n:"BrtSXDI15", f:parsenoop }, + /*::[*/0xFFFF/*::]*/: { n:"", f:parsenoop } +}; + +var evert_RE = evert_key(XLSBRecordEnum, 'n'); + +/* [MS-XLS] 2.3 Record Enumeration */ +var XLSRecordEnum = { + /*::[*/0x0003/*::]*/: { n:"BIFF2NUM", f:parse_BIFF2NUM }, + /*::[*/0x0004/*::]*/: { n:"BIFF2STR", f:parse_BIFF2STR }, + /*::[*/0x0006/*::]*/: { n:"Formula", f:parse_Formula }, + /*::[*/0x0009/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x000a/*::]*/: { n:'EOF', f:parse_EOF }, + /*::[*/0x000c/*::]*/: { n:"CalcCount", f:parse_CalcCount }, + /*::[*/0x000d/*::]*/: { n:"CalcMode", f:parse_CalcMode }, + /*::[*/0x000e/*::]*/: { n:"CalcPrecision", f:parse_CalcPrecision }, + /*::[*/0x000f/*::]*/: { n:"CalcRefMode", f:parse_CalcRefMode }, + /*::[*/0x0010/*::]*/: { n:"CalcDelta", f:parse_CalcDelta }, + /*::[*/0x0011/*::]*/: { n:"CalcIter", f:parse_CalcIter }, + /*::[*/0x0012/*::]*/: { n:"Protect", f:parse_Protect }, + /*::[*/0x0013/*::]*/: { n:"Password", f:parse_Password }, + /*::[*/0x0014/*::]*/: { n:"Header", f:parse_Header }, + /*::[*/0x0015/*::]*/: { n:"Footer", f:parse_Footer }, + /*::[*/0x0017/*::]*/: { n:"ExternSheet", f:parse_ExternSheet }, + /*::[*/0x0018/*::]*/: { n:"Lbl", f:parse_Lbl }, + /*::[*/0x0019/*::]*/: { n:"WinProtect", f:parse_WinProtect }, + /*::[*/0x001a/*::]*/: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, + /*::[*/0x001b/*::]*/: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, + /*::[*/0x001c/*::]*/: { n:"Note", f:parse_Note }, + /*::[*/0x001d/*::]*/: { n:"Selection", f:parse_Selection }, + /*::[*/0x0022/*::]*/: { n:"Date1904", f:parse_Date1904 }, + /*::[*/0x0023/*::]*/: { n:"ExternName", f:parse_ExternName }, + /*::[*/0x0026/*::]*/: { n:"LeftMargin", f:parse_LeftMargin }, + /*::[*/0x0027/*::]*/: { n:"RightMargin", f:parse_RightMargin }, + /*::[*/0x0028/*::]*/: { n:"TopMargin", f:parse_TopMargin }, + /*::[*/0x0029/*::]*/: { n:"BottomMargin", f:parse_BottomMargin }, + /*::[*/0x002a/*::]*/: { n:"PrintRowCol", f:parse_PrintRowCol }, + /*::[*/0x002b/*::]*/: { n:"PrintGrid", f:parse_PrintGrid }, + /*::[*/0x002f/*::]*/: { n:"FilePass", f:parse_FilePass }, + /*::[*/0x0031/*::]*/: { n:"Font", f:parse_Font }, + /*::[*/0x0033/*::]*/: { n:"PrintSize", f:parse_PrintSize }, + /*::[*/0x003c/*::]*/: { n:"Continue", f:parse_Continue }, + /*::[*/0x003d/*::]*/: { n:"Window1", f:parse_Window1 }, + /*::[*/0x0040/*::]*/: { n:"Backup", f:parse_Backup }, + /*::[*/0x0041/*::]*/: { n:"Pane", f:parse_Pane }, + /*::[*/0x0042/*::]*/: { n:'CodePage', f:parse_CodePage }, + /*::[*/0x004d/*::]*/: { n:"Pls", f:parse_Pls }, + /*::[*/0x0050/*::]*/: { n:"DCon", f:parse_DCon }, + /*::[*/0x0051/*::]*/: { n:"DConRef", f:parse_DConRef }, + /*::[*/0x0052/*::]*/: { n:"DConName", f:parse_DConName }, + /*::[*/0x0055/*::]*/: { n:"DefColWidth", f:parse_DefColWidth }, + /*::[*/0x0059/*::]*/: { n:"XCT", f:parse_XCT }, + /*::[*/0x005a/*::]*/: { n:"CRN", f:parse_CRN }, + /*::[*/0x005b/*::]*/: { n:"FileSharing", f:parse_FileSharing }, + /*::[*/0x005c/*::]*/: { n:'WriteAccess', f:parse_WriteAccess }, + /*::[*/0x005d/*::]*/: { n:"Obj", f:parse_Obj }, + /*::[*/0x005e/*::]*/: { n:"Uncalced", f:parse_Uncalced }, + /*::[*/0x005f/*::]*/: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, + /*::[*/0x0060/*::]*/: { n:"Template", f:parse_Template }, + /*::[*/0x0061/*::]*/: { n:"Intl", f:parse_Intl }, + /*::[*/0x0063/*::]*/: { n:"ObjProtect", f:parse_ObjProtect }, + /*::[*/0x007d/*::]*/: { n:"ColInfo", f:parse_ColInfo }, + /*::[*/0x0080/*::]*/: { n:"Guts", f:parse_Guts }, + /*::[*/0x0081/*::]*/: { n:"WsBool", f:parse_WsBool }, + /*::[*/0x0082/*::]*/: { n:"GridSet", f:parse_GridSet }, + /*::[*/0x0083/*::]*/: { n:"HCenter", f:parse_HCenter }, + /*::[*/0x0084/*::]*/: { n:"VCenter", f:parse_VCenter }, + /*::[*/0x0085/*::]*/: { n:'BoundSheet8', f:parse_BoundSheet8 }, + /*::[*/0x0086/*::]*/: { n:"WriteProtect", f:parse_WriteProtect }, + /*::[*/0x008c/*::]*/: { n:"Country", f:parse_Country }, + /*::[*/0x008d/*::]*/: { n:"HideObj", f:parse_HideObj }, + /*::[*/0x0090/*::]*/: { n:"Sort", f:parse_Sort }, + /*::[*/0x0092/*::]*/: { n:"Palette", f:parse_Palette }, + /*::[*/0x0097/*::]*/: { n:"Sync", f:parse_Sync }, + /*::[*/0x0098/*::]*/: { n:"LPr", f:parse_LPr }, + /*::[*/0x0099/*::]*/: { n:"DxGCol", f:parse_DxGCol }, + /*::[*/0x009a/*::]*/: { n:"FnGroupName", f:parse_FnGroupName }, + /*::[*/0x009b/*::]*/: { n:"FilterMode", f:parse_FilterMode }, + /*::[*/0x009c/*::]*/: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, + /*::[*/0x009d/*::]*/: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, + /*::[*/0x009e/*::]*/: { n:"AutoFilter", f:parse_AutoFilter }, + /*::[*/0x00a0/*::]*/: { n:"Scl", f:parse_Scl }, + /*::[*/0x00a1/*::]*/: { n:"Setup", f:parse_Setup }, + /*::[*/0x00ae/*::]*/: { n:"ScenMan", f:parse_ScenMan }, + /*::[*/0x00af/*::]*/: { n:"SCENARIO", f:parse_SCENARIO }, + /*::[*/0x00b0/*::]*/: { n:"SxView", f:parse_SxView }, + /*::[*/0x00b1/*::]*/: { n:"Sxvd", f:parse_Sxvd }, + /*::[*/0x00b2/*::]*/: { n:"SXVI", f:parse_SXVI }, + /*::[*/0x00b4/*::]*/: { n:"SxIvd", f:parse_SxIvd }, + /*::[*/0x00b5/*::]*/: { n:"SXLI", f:parse_SXLI }, + /*::[*/0x00b6/*::]*/: { n:"SXPI", f:parse_SXPI }, + /*::[*/0x00b8/*::]*/: { n:"DocRoute", f:parse_DocRoute }, + /*::[*/0x00b9/*::]*/: { n:"RecipName", f:parse_RecipName }, + /*::[*/0x00bd/*::]*/: { n:"MulRk", f:parse_MulRk }, + /*::[*/0x00be/*::]*/: { n:"MulBlank", f:parse_MulBlank }, + /*::[*/0x00c1/*::]*/: { n:'Mms', f:parse_Mms }, + /*::[*/0x00c5/*::]*/: { n:"SXDI", f:parse_SXDI }, + /*::[*/0x00c6/*::]*/: { n:"SXDB", f:parse_SXDB }, + /*::[*/0x00c7/*::]*/: { n:"SXFDB", f:parse_SXFDB }, + /*::[*/0x00c8/*::]*/: { n:"SXDBB", f:parse_SXDBB }, + /*::[*/0x00c9/*::]*/: { n:"SXNum", f:parse_SXNum }, + /*::[*/0x00ca/*::]*/: { n:"SxBool", f:parse_SxBool }, + /*::[*/0x00cb/*::]*/: { n:"SxErr", f:parse_SxErr }, + /*::[*/0x00cc/*::]*/: { n:"SXInt", f:parse_SXInt }, + /*::[*/0x00cd/*::]*/: { n:"SXString", f:parse_SXString }, + /*::[*/0x00ce/*::]*/: { n:"SXDtr", f:parse_SXDtr }, + /*::[*/0x00cf/*::]*/: { n:"SxNil", f:parse_SxNil }, + /*::[*/0x00d0/*::]*/: { n:"SXTbl", f:parse_SXTbl }, + /*::[*/0x00d1/*::]*/: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, + /*::[*/0x00d2/*::]*/: { n:"SxTbpg", f:parse_SxTbpg }, + /*::[*/0x00d3/*::]*/: { n:"ObProj", f:parse_ObProj }, + /*::[*/0x00d5/*::]*/: { n:"SXStreamID", f:parse_SXStreamID }, + /*::[*/0x00d7/*::]*/: { n:"DBCell", f:parse_DBCell }, + /*::[*/0x00d8/*::]*/: { n:"SXRng", f:parse_SXRng }, + /*::[*/0x00d9/*::]*/: { n:"SxIsxoper", f:parse_SxIsxoper }, + /*::[*/0x00da/*::]*/: { n:"BookBool", f:parse_BookBool }, + /*::[*/0x00dc/*::]*/: { n:"DbOrParamQry", f:parse_DbOrParamQry }, + /*::[*/0x00dd/*::]*/: { n:"ScenarioProtect", f:parse_ScenarioProtect }, + /*::[*/0x00de/*::]*/: { n:"OleObjectSize", f:parse_OleObjectSize }, + /*::[*/0x00e0/*::]*/: { n:"XF", f:parse_XF }, + /*::[*/0x00e1/*::]*/: { n:'InterfaceHdr', f:parse_InterfaceHdr }, + /*::[*/0x00e2/*::]*/: { n:'InterfaceEnd', f:parse_InterfaceEnd }, + /*::[*/0x00e3/*::]*/: { n:"SXVS", f:parse_SXVS }, + /*::[*/0x00e5/*::]*/: { n:"MergeCells", f:parse_MergeCells }, + /*::[*/0x00e9/*::]*/: { n:"BkHim", f:parse_BkHim }, + /*::[*/0x00eb/*::]*/: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, + /*::[*/0x00ec/*::]*/: { n:"MsoDrawing", f:parse_MsoDrawing }, + /*::[*/0x00ed/*::]*/: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, + /*::[*/0x00ef/*::]*/: { n:"PhoneticInfo", f:parse_PhoneticInfo }, + /*::[*/0x00f0/*::]*/: { n:"SxRule", f:parse_SxRule }, + /*::[*/0x00f1/*::]*/: { n:"SXEx", f:parse_SXEx }, + /*::[*/0x00f2/*::]*/: { n:"SxFilt", f:parse_SxFilt }, + /*::[*/0x00f4/*::]*/: { n:"SxDXF", f:parse_SxDXF }, + /*::[*/0x00f5/*::]*/: { n:"SxItm", f:parse_SxItm }, + /*::[*/0x00f6/*::]*/: { n:"SxName", f:parse_SxName }, + /*::[*/0x00f7/*::]*/: { n:"SxSelect", f:parse_SxSelect }, + /*::[*/0x00f8/*::]*/: { n:"SXPair", f:parse_SXPair }, + /*::[*/0x00f9/*::]*/: { n:"SxFmla", f:parse_SxFmla }, + /*::[*/0x00fb/*::]*/: { n:"SxFormat", f:parse_SxFormat }, + /*::[*/0x00fc/*::]*/: { n:"SST", f:parse_SST }, + /*::[*/0x00fd/*::]*/: { n:"LabelSst", f:parse_LabelSst }, + /*::[*/0x00ff/*::]*/: { n:"ExtSST", f:parse_ExtSST }, + /*::[*/0x0100/*::]*/: { n:"SXVDEx", f:parse_SXVDEx }, + /*::[*/0x0103/*::]*/: { n:"SXFormula", f:parse_SXFormula }, + /*::[*/0x0122/*::]*/: { n:"SXDBEx", f:parse_SXDBEx }, + /*::[*/0x0137/*::]*/: { n:"RRDInsDel", f:parse_RRDInsDel }, + /*::[*/0x0138/*::]*/: { n:"RRDHead", f:parse_RRDHead }, + /*::[*/0x013b/*::]*/: { n:"RRDChgCell", f:parse_RRDChgCell }, + /*::[*/0x013d/*::]*/: { n:"RRTabId", f:parse_RRTabId }, + /*::[*/0x013e/*::]*/: { n:"RRDRenSheet", f:parse_RRDRenSheet }, + /*::[*/0x013f/*::]*/: { n:"RRSort", f:parse_RRSort }, + /*::[*/0x0140/*::]*/: { n:"RRDMove", f:parse_RRDMove }, + /*::[*/0x014a/*::]*/: { n:"RRFormat", f:parse_RRFormat }, + /*::[*/0x014b/*::]*/: { n:"RRAutoFmt", f:parse_RRAutoFmt }, + /*::[*/0x014d/*::]*/: { n:"RRInsertSh", f:parse_RRInsertSh }, + /*::[*/0x014e/*::]*/: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, + /*::[*/0x014f/*::]*/: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, + /*::[*/0x0150/*::]*/: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, + /*::[*/0x0151/*::]*/: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, + /*::[*/0x0152/*::]*/: { n:"RRDConflict", f:parse_RRDConflict }, + /*::[*/0x0153/*::]*/: { n:"RRDDefName", f:parse_RRDDefName }, + /*::[*/0x0154/*::]*/: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, + /*::[*/0x015f/*::]*/: { n:"LRng", f:parse_LRng }, + /*::[*/0x0160/*::]*/: { n:"UsesELFs", f:parse_UsesELFs }, + /*::[*/0x0161/*::]*/: { n:"DSF", f:parse_DSF }, + /*::[*/0x0191/*::]*/: { n:"CUsr", f:parse_CUsr }, + /*::[*/0x0192/*::]*/: { n:"CbUsr", f:parse_CbUsr }, + /*::[*/0x0193/*::]*/: { n:"UsrInfo", f:parse_UsrInfo }, + /*::[*/0x0194/*::]*/: { n:"UsrExcl", f:parse_UsrExcl }, + /*::[*/0x0195/*::]*/: { n:"FileLock", f:parse_FileLock }, + /*::[*/0x0196/*::]*/: { n:"RRDInfo", f:parse_RRDInfo }, + /*::[*/0x0197/*::]*/: { n:"BCUsrs", f:parse_BCUsrs }, + /*::[*/0x0198/*::]*/: { n:"UsrChk", f:parse_UsrChk }, + /*::[*/0x01a9/*::]*/: { n:"UserBView", f:parse_UserBView }, + /*::[*/0x01aa/*::]*/: { n:"UserSViewBegin", f:parse_UserSViewBegin }, + /*::[*/0x01ab/*::]*/: { n:"UserSViewEnd", f:parse_UserSViewEnd }, + /*::[*/0x01ac/*::]*/: { n:"RRDUserView", f:parse_RRDUserView }, + /*::[*/0x01ad/*::]*/: { n:"Qsi", f:parse_Qsi }, + /*::[*/0x01ae/*::]*/: { n:"SupBook", f:parse_SupBook }, + /*::[*/0x01af/*::]*/: { n:"Prot4Rev", f:parse_Prot4Rev }, + /*::[*/0x01b0/*::]*/: { n:"CondFmt", f:parse_CondFmt }, + /*::[*/0x01b1/*::]*/: { n:"CF", f:parse_CF }, + /*::[*/0x01b2/*::]*/: { n:"DVal", f:parse_DVal }, + /*::[*/0x01b5/*::]*/: { n:"DConBin", f:parse_DConBin }, + /*::[*/0x01b6/*::]*/: { n:"TxO", f:parse_TxO }, + /*::[*/0x01b7/*::]*/: { n:"RefreshAll", f:parse_RefreshAll }, + /*::[*/0x01b8/*::]*/: { n:"HLink", f:parse_HLink }, + /*::[*/0x01b9/*::]*/: { n:"Lel", f:parse_Lel }, + /*::[*/0x01ba/*::]*/: { n:"CodeName", f:parse_XLSCodeName }, + /*::[*/0x01bb/*::]*/: { n:"SXFDBType", f:parse_SXFDBType }, + /*::[*/0x01bc/*::]*/: { n:"Prot4RevPass", f:parse_Prot4RevPass }, + /*::[*/0x01bd/*::]*/: { n:"ObNoMacros", f:parse_ObNoMacros }, + /*::[*/0x01be/*::]*/: { n:"Dv", f:parse_Dv }, + /*::[*/0x01c0/*::]*/: { n:"Excel9File", f:parse_Excel9File }, + /*::[*/0x01c1/*::]*/: { n:"RecalcId", f:parse_RecalcId, r:2}, + /*::[*/0x01c2/*::]*/: { n:"EntExU2", f:parse_EntExU2 }, + /*::[*/0x0200/*::]*/: { n:"Dimensions", f:parse_Dimensions }, + /*::[*/0x0201/*::]*/: { n:"Blank", f:parse_Blank }, + /*::[*/0x0203/*::]*/: { n:"Number", f:parse_Number }, + /*::[*/0x0204/*::]*/: { n:"Label", f:parse_Label }, + /*::[*/0x0205/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0207/*::]*/: { n:"String", f:parse_String }, + /*::[*/0x0208/*::]*/: { n:'Row', f:parse_Row }, + /*::[*/0x020b/*::]*/: { n:"Index", f:parse_Index }, + /*::[*/0x0221/*::]*/: { n:"Array", f:parse_Array }, + /*::[*/0x0225/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + /*::[*/0x0236/*::]*/: { n:"Table", f:parse_Table }, + /*::[*/0x023e/*::]*/: { n:"Window2", f:parse_Window2 }, + /*::[*/0x027e/*::]*/: { n:"RK", f:parse_RK }, + /*::[*/0x0293/*::]*/: { n:"Style", f:parse_Style }, + /*::[*/0x0418/*::]*/: { n:"BigName", f:parse_BigName }, + /*::[*/0x041e/*::]*/: { n:"Format", f:parse_Format }, + /*::[*/0x043c/*::]*/: { n:"ContinueBigName", f:parse_ContinueBigName }, + /*::[*/0x04bc/*::]*/: { n:"ShrFmla", f:parse_ShrFmla }, + /*::[*/0x0800/*::]*/: { n:"HLinkTooltip", f:parse_HLinkTooltip }, + /*::[*/0x0801/*::]*/: { n:"WebPub", f:parse_WebPub }, + /*::[*/0x0802/*::]*/: { n:"QsiSXTag", f:parse_QsiSXTag }, + /*::[*/0x0803/*::]*/: { n:"DBQueryExt", f:parse_DBQueryExt }, + /*::[*/0x0804/*::]*/: { n:"ExtString", f:parse_ExtString }, + /*::[*/0x0805/*::]*/: { n:"TxtQry", f:parse_TxtQry }, + /*::[*/0x0806/*::]*/: { n:"Qsir", f:parse_Qsir }, + /*::[*/0x0807/*::]*/: { n:"Qsif", f:parse_Qsif }, + /*::[*/0x0808/*::]*/: { n:"RRDTQSIF", f:parse_RRDTQSIF }, + /*::[*/0x0809/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x080a/*::]*/: { n:"OleDbConn", f:parse_OleDbConn }, + /*::[*/0x080b/*::]*/: { n:"WOpt", f:parse_WOpt }, + /*::[*/0x080c/*::]*/: { n:"SXViewEx", f:parse_SXViewEx }, + /*::[*/0x080d/*::]*/: { n:"SXTH", f:parse_SXTH }, + /*::[*/0x080e/*::]*/: { n:"SXPIEx", f:parse_SXPIEx }, + /*::[*/0x080f/*::]*/: { n:"SXVDTEx", f:parse_SXVDTEx }, + /*::[*/0x0810/*::]*/: { n:"SXViewEx9", f:parse_SXViewEx9 }, + /*::[*/0x0812/*::]*/: { n:"ContinueFrt", f:parse_ContinueFrt }, + /*::[*/0x0813/*::]*/: { n:"RealTimeData", f:parse_RealTimeData }, + /*::[*/0x0850/*::]*/: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, + /*::[*/0x0851/*::]*/: { n:"FrtWrapper", f:parse_FrtWrapper }, + /*::[*/0x0852/*::]*/: { n:"StartBlock", f:parse_StartBlock }, + /*::[*/0x0853/*::]*/: { n:"EndBlock", f:parse_EndBlock }, + /*::[*/0x0854/*::]*/: { n:"StartObject", f:parse_StartObject }, + /*::[*/0x0855/*::]*/: { n:"EndObject", f:parse_EndObject }, + /*::[*/0x0856/*::]*/: { n:"CatLab", f:parse_CatLab }, + /*::[*/0x0857/*::]*/: { n:"YMult", f:parse_YMult }, + /*::[*/0x0858/*::]*/: { n:"SXViewLink", f:parse_SXViewLink }, + /*::[*/0x0859/*::]*/: { n:"PivotChartBits", f:parse_PivotChartBits }, + /*::[*/0x085a/*::]*/: { n:"FrtFontList", f:parse_FrtFontList }, + /*::[*/0x0862/*::]*/: { n:"SheetExt", f:parse_SheetExt }, + /*::[*/0x0863/*::]*/: { n:"BookExt", f:parse_BookExt, r:12}, + /*::[*/0x0864/*::]*/: { n:"SXAddl", f:parse_SXAddl }, + /*::[*/0x0865/*::]*/: { n:"CrErr", f:parse_CrErr }, + /*::[*/0x0866/*::]*/: { n:"HFPicture", f:parse_HFPicture }, + /*::[*/0x0867/*::]*/: { n:'FeatHdr', f:parse_FeatHdr }, + /*::[*/0x0868/*::]*/: { n:"Feat", f:parse_Feat }, + /*::[*/0x086a/*::]*/: { n:"DataLabExt", f:parse_DataLabExt }, + /*::[*/0x086b/*::]*/: { n:"DataLabExtContents", f:parse_DataLabExtContents }, + /*::[*/0x086c/*::]*/: { n:"CellWatch", f:parse_CellWatch }, + /*::[*/0x0871/*::]*/: { n:"FeatHdr11", f:parse_FeatHdr11 }, + /*::[*/0x0872/*::]*/: { n:"Feature11", f:parse_Feature11 }, + /*::[*/0x0874/*::]*/: { n:"DropDownObjIds", f:parse_DropDownObjIds }, + /*::[*/0x0875/*::]*/: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, + /*::[*/0x0876/*::]*/: { n:"DConn", f:parse_DConn }, + /*::[*/0x0877/*::]*/: { n:"List12", f:parse_List12 }, + /*::[*/0x0878/*::]*/: { n:"Feature12", f:parse_Feature12 }, + /*::[*/0x0879/*::]*/: { n:"CondFmt12", f:parse_CondFmt12 }, + /*::[*/0x087a/*::]*/: { n:"CF12", f:parse_CF12 }, + /*::[*/0x087b/*::]*/: { n:"CFEx", f:parse_CFEx }, + /*::[*/0x087c/*::]*/: { n:"XFCRC", f:parse_XFCRC, r:12 }, + /*::[*/0x087d/*::]*/: { n:"XFExt", f:parse_XFExt, r:12 }, + /*::[*/0x087e/*::]*/: { n:"AutoFilter12", f:parse_AutoFilter12 }, + /*::[*/0x087f/*::]*/: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, + /*::[*/0x0884/*::]*/: { n:"MDTInfo", f:parse_MDTInfo }, + /*::[*/0x0885/*::]*/: { n:"MDXStr", f:parse_MDXStr }, + /*::[*/0x0886/*::]*/: { n:"MDXTuple", f:parse_MDXTuple }, + /*::[*/0x0887/*::]*/: { n:"MDXSet", f:parse_MDXSet }, + /*::[*/0x0888/*::]*/: { n:"MDXProp", f:parse_MDXProp }, + /*::[*/0x0889/*::]*/: { n:"MDXKPI", f:parse_MDXKPI }, + /*::[*/0x088a/*::]*/: { n:"MDB", f:parse_MDB }, + /*::[*/0x088b/*::]*/: { n:"PLV", f:parse_PLV }, + /*::[*/0x088c/*::]*/: { n:"Compat12", f:parse_Compat12, r:12 }, + /*::[*/0x088d/*::]*/: { n:"DXF", f:parse_DXF }, + /*::[*/0x088e/*::]*/: { n:"TableStyles", f:parse_TableStyles, r:12 }, + /*::[*/0x088f/*::]*/: { n:"TableStyle", f:parse_TableStyle }, + /*::[*/0x0890/*::]*/: { n:"TableStyleElement", f:parse_TableStyleElement }, + /*::[*/0x0892/*::]*/: { n:"StyleExt", f:parse_StyleExt }, + /*::[*/0x0893/*::]*/: { n:"NamePublish", f:parse_NamePublish }, + /*::[*/0x0894/*::]*/: { n:"NameCmt", f:parse_NameCmt }, + /*::[*/0x0895/*::]*/: { n:"SortData", f:parse_SortData }, + /*::[*/0x0896/*::]*/: { n:"Theme", f:parse_Theme, r:12 }, + /*::[*/0x0897/*::]*/: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, + /*::[*/0x0898/*::]*/: { n:"FnGrp12", f:parse_FnGrp12 }, + /*::[*/0x0899/*::]*/: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, + /*::[*/0x089a/*::]*/: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, + /*::[*/0x089b/*::]*/: { n:"CompressPictures", f:parse_CompressPictures }, + /*::[*/0x089c/*::]*/: { n:"HeaderFooter", f:parse_HeaderFooter }, + /*::[*/0x089d/*::]*/: { n:"CrtLayout12", f:parse_CrtLayout12 }, + /*::[*/0x089e/*::]*/: { n:"CrtMlFrt", f:parse_CrtMlFrt }, + /*::[*/0x089f/*::]*/: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, + /*::[*/0x08a3/*::]*/: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, + /*::[*/0x08a4/*::]*/: { n:"ShapePropsStream", f:parse_ShapePropsStream }, + /*::[*/0x08a5/*::]*/: { n:"TextPropsStream", f:parse_TextPropsStream }, + /*::[*/0x08a6/*::]*/: { n:"RichTextStream", f:parse_RichTextStream }, + /*::[*/0x08a7/*::]*/: { n:"CrtLayout12A", f:parse_CrtLayout12A }, + /*::[*/0x1001/*::]*/: { n:"Units", f:parse_Units }, + /*::[*/0x1002/*::]*/: { n:"Chart", f:parse_Chart }, + /*::[*/0x1003/*::]*/: { n:"Series", f:parse_Series }, + /*::[*/0x1006/*::]*/: { n:"DataFormat", f:parse_DataFormat }, + /*::[*/0x1007/*::]*/: { n:"LineFormat", f:parse_LineFormat }, + /*::[*/0x1009/*::]*/: { n:"MarkerFormat", f:parse_MarkerFormat }, + /*::[*/0x100a/*::]*/: { n:"AreaFormat", f:parse_AreaFormat }, + /*::[*/0x100b/*::]*/: { n:"PieFormat", f:parse_PieFormat }, + /*::[*/0x100c/*::]*/: { n:"AttachedLabel", f:parse_AttachedLabel }, + /*::[*/0x100d/*::]*/: { n:"SeriesText", f:parse_SeriesText }, + /*::[*/0x1014/*::]*/: { n:"ChartFormat", f:parse_ChartFormat }, + /*::[*/0x1015/*::]*/: { n:"Legend", f:parse_Legend }, + /*::[*/0x1016/*::]*/: { n:"SeriesList", f:parse_SeriesList }, + /*::[*/0x1017/*::]*/: { n:"Bar", f:parse_Bar }, + /*::[*/0x1018/*::]*/: { n:"Line", f:parse_Line }, + /*::[*/0x1019/*::]*/: { n:"Pie", f:parse_Pie }, + /*::[*/0x101a/*::]*/: { n:"Area", f:parse_Area }, + /*::[*/0x101b/*::]*/: { n:"Scatter", f:parse_Scatter }, + /*::[*/0x101c/*::]*/: { n:"CrtLine", f:parse_CrtLine }, + /*::[*/0x101d/*::]*/: { n:"Axis", f:parse_Axis }, + /*::[*/0x101e/*::]*/: { n:"Tick", f:parse_Tick }, + /*::[*/0x101f/*::]*/: { n:"ValueRange", f:parse_ValueRange }, + /*::[*/0x1020/*::]*/: { n:"CatSerRange", f:parse_CatSerRange }, + /*::[*/0x1021/*::]*/: { n:"AxisLine", f:parse_AxisLine }, + /*::[*/0x1022/*::]*/: { n:"CrtLink", f:parse_CrtLink }, + /*::[*/0x1024/*::]*/: { n:"DefaultText", f:parse_DefaultText }, + /*::[*/0x1025/*::]*/: { n:"Text", f:parse_Text }, + /*::[*/0x1026/*::]*/: { n:"FontX", f:parse_FontX }, + /*::[*/0x1027/*::]*/: { n:"ObjectLink", f:parse_ObjectLink }, + /*::[*/0x1032/*::]*/: { n:"Frame", f:parse_Frame }, + /*::[*/0x1033/*::]*/: { n:"Begin", f:parse_Begin }, + /*::[*/0x1034/*::]*/: { n:"End", f:parse_End }, + /*::[*/0x1035/*::]*/: { n:"PlotArea", f:parse_PlotArea }, + /*::[*/0x103a/*::]*/: { n:"Chart3d", f:parse_Chart3d }, + /*::[*/0x103c/*::]*/: { n:"PicF", f:parse_PicF }, + /*::[*/0x103d/*::]*/: { n:"DropBar", f:parse_DropBar }, + /*::[*/0x103e/*::]*/: { n:"Radar", f:parse_Radar }, + /*::[*/0x103f/*::]*/: { n:"Surf", f:parse_Surf }, + /*::[*/0x1040/*::]*/: { n:"RadarArea", f:parse_RadarArea }, + /*::[*/0x1041/*::]*/: { n:"AxisParent", f:parse_AxisParent }, + /*::[*/0x1043/*::]*/: { n:"LegendException", f:parse_LegendException }, + /*::[*/0x1044/*::]*/: { n:"ShtProps", f:parse_ShtProps }, + /*::[*/0x1045/*::]*/: { n:"SerToCrt", f:parse_SerToCrt }, + /*::[*/0x1046/*::]*/: { n:"AxesUsed", f:parse_AxesUsed }, + /*::[*/0x1048/*::]*/: { n:"SBaseRef", f:parse_SBaseRef }, + /*::[*/0x104a/*::]*/: { n:"SerParent", f:parse_SerParent }, + /*::[*/0x104b/*::]*/: { n:"SerAuxTrend", f:parse_SerAuxTrend }, + /*::[*/0x104e/*::]*/: { n:"IFmtRecord", f:parse_IFmtRecord }, + /*::[*/0x104f/*::]*/: { n:"Pos", f:parse_Pos }, + /*::[*/0x1050/*::]*/: { n:"AlRuns", f:parse_AlRuns }, + /*::[*/0x1051/*::]*/: { n:"BRAI", f:parse_BRAI }, + /*::[*/0x105b/*::]*/: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, + /*::[*/0x105c/*::]*/: { n:"ClrtClient", f:parse_ClrtClient }, + /*::[*/0x105d/*::]*/: { n:"SerFmt", f:parse_SerFmt }, + /*::[*/0x105f/*::]*/: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, + /*::[*/0x1060/*::]*/: { n:"Fbi", f:parse_Fbi }, + /*::[*/0x1061/*::]*/: { n:"BopPop", f:parse_BopPop }, + /*::[*/0x1062/*::]*/: { n:"AxcExt", f:parse_AxcExt }, + /*::[*/0x1063/*::]*/: { n:"Dat", f:parse_Dat }, + /*::[*/0x1064/*::]*/: { n:"PlotGrowth", f:parse_PlotGrowth }, + /*::[*/0x1065/*::]*/: { n:"SIIndex", f:parse_SIIndex }, + /*::[*/0x1066/*::]*/: { n:"GelFrame", f:parse_GelFrame }, + /*::[*/0x1067/*::]*/: { n:"BopPopCustom", f:parse_BopPopCustom }, + /*::[*/0x1068/*::]*/: { n:"Fbi2", f:parse_Fbi2 }, + + /* These are specified in an older version of the spec */ + /*::[*/0x0000/*::]*/: { n:"Dimension", f:parsenoop }, + /*::[*/0x0002/*::]*/: { n:"BIFF2INT", f:parse_BIFF2INT }, + /*::[*/0x0005/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING }, + /*::[*/0x0008/*::]*/: { n:"BIFF2ROW", f:parsenoop }, + /*::[*/0x000b/*::]*/: { n:"Index", f:parse_Index }, + /*::[*/0x001e/*::]*/: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, + /*::[*/0x001f/*::]*/: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ + /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop }, + /*::[*/0x0025/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + /*::[*/0x0032/*::]*/: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, + /*::[*/0x003e/*::]*/: { n:"BIFF2WINDOW2", f:parsenoop }, + /*::[*/0x0045/*::]*/: { n:"BIFF2FONTCLR", f:parsenoop }, + /*::[*/0x0056/*::]*/: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ + /*::[*/0x007e/*::]*/: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ + /*::[*/0x007f/*::]*/: { n:"ImData", f:parsenoop }, + /*::[*/0x0087/*::]*/: { n:"Addin", f:parsenoop }, + /*::[*/0x0088/*::]*/: { n:"Edg", f:parsenoop }, + /*::[*/0x0089/*::]*/: { n:"Pub", f:parsenoop }, + /*::[*/0x0091/*::]*/: { n:"Sub", f:parsenoop }, + /*::[*/0x0094/*::]*/: { n:"LHRecord", f:parsenoop }, + /*::[*/0x0095/*::]*/: { n:"LHNGraph", f:parsenoop }, + /*::[*/0x0096/*::]*/: { n:"Sound", f:parsenoop }, + /*::[*/0x00a9/*::]*/: { n:"CoordList", f:parsenoop }, + /*::[*/0x00ab/*::]*/: { n:"GCW", f:parsenoop }, + /*::[*/0x00bc/*::]*/: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ + /*::[*/0x00c2/*::]*/: { n:"AddMenu", f:parsenoop }, + /*::[*/0x00c3/*::]*/: { n:"DelMenu", f:parsenoop }, + /*::[*/0x00d6/*::]*/: { n:"RString", f:parsenoop }, + /*::[*/0x00df/*::]*/: { n:"UDDesc", f:parsenoop }, + /*::[*/0x00ea/*::]*/: { n:"TabIdConf", f:parsenoop }, + /*::[*/0x0162/*::]*/: { n:"XL5Modify", f:parsenoop }, + /*::[*/0x01a5/*::]*/: { n:"FileSharing2", f:parsenoop }, + /*::[*/0x0209/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x0218/*::]*/: { n:"Lbl", f:parse_Lbl }, + /*::[*/0x0223/*::]*/: { n:"ExternName", f:parse_ExternName }, + /*::[*/0x0231/*::]*/: { n:"Font", f:parsenoop }, + /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, + /*::[*/0x0409/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x086d/*::]*/: { n:"FeatInfo", f:parsenoop }, + /*::[*/0x0873/*::]*/: { n:"FeatInfo11", f:parsenoop }, + /*::[*/0x0881/*::]*/: { n:"SXAddl12", f:parsenoop }, + /*::[*/0x08c0/*::]*/: { n:"AutoWebPub", f:parsenoop }, + /*::[*/0x08c1/*::]*/: { n:"ListObj", f:parsenoop }, + /*::[*/0x08c2/*::]*/: { n:"ListField", f:parsenoop }, + /*::[*/0x08c3/*::]*/: { n:"ListDV", f:parsenoop }, + /*::[*/0x08c4/*::]*/: { n:"ListCondFmt", f:parsenoop }, + /*::[*/0x08c5/*::]*/: { n:"ListCF", f:parsenoop }, + /*::[*/0x08c6/*::]*/: { n:"FMQry", f:parsenoop }, + /*::[*/0x08c7/*::]*/: { n:"FMSQry", f:parsenoop }, + /*::[*/0x08c8/*::]*/: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ + /*::[*/0x08c9/*::]*/: { n:"LnExt", f:parsenoop }, + /*::[*/0x08ca/*::]*/: { n:"MkrExt", f:parsenoop }, + /*::[*/0x08cb/*::]*/: { n:"CrtCoopt", f:parsenoop }, + + /*::[*/0x0043/*::]*/: { n:"BIFF2XF", f:parsenoop }, + /*::[*/0x0243/*::]*/: { n:"BIFF3XF", f:parsenoop }, + /*::[*/0x0443/*::]*/: { n:"BIFF4XF", f:parsenoop }, + + /*::[*/0x7262/*::]*/: {} +}; + + diff --git a/bits/78_writebiff.js b/bits/78_writebiff.js new file mode 100644 index 0000000..c4dd00f --- /dev/null +++ b/bits/78_writebiff.js @@ -0,0 +1,118 @@ +/* BIFF2-4 single-sheet workbooks */ +function write_biff_rec(ba/*:BufArray*/, t/*:number*/, payload, length/*:?number*/) { + var len = (length || (payload||[]).length); + var o = ba.next(4 + len); + o.write_shift(2, t); + o.write_shift(2, len); + if(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload); +} + +function write_BOF(wb/*:Workbook*/, o) { + if(o.bookType != 'biff2') throw "unsupported BIFF version"; + var out = new_buf(4); + out.write_shift(2, 0x0002); // "unused" + out.write_shift(2, 0x0010); // Sheet + return out; +} + +function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, 0); + out.write_shift(1, 0); + out.write_shift(1, 0); + return out; +} + +function write_BIFF2INT(r/*:number*/, c/*:number*/, val) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + out.write_shift(2, val); + return out; +} + +function write_BIFF2NUMBER(r, c, val) { + var out = new_buf(15); + write_BIFF2Cell(out, r, c); + out.write_shift(8, val, 'f'); + return out; +} + +function write_BIFF2BERR(r, c, val, t) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + if(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); } + else { out.write_shift(1, val?1:0); out.write_shift(1, 0); } + return out; +} + +/* TODO: codepage, large strings */ +function write_BIFF2LABEL(r, c, val) { + var out = new_buf(8 + 2*val.length); + write_BIFF2Cell(out, r, c); + out.write_shift(1, val.length); + out.write_shift(val.length, val, 'sbcs'); + return out.l < out.length ? out.slice(0, out.l) : out; +} + +function write_ws_biff_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { + switch(cell.t) { + case 'n': + if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); + else + write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); + break; + case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; + /* TODO: codepage, sst */ + case 's': case 'str': + write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); + break; + default: write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); + } +} + +function write_biff_ws(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { + var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + for(var R = range.s.r; R <= range.e.r; ++R) { + rr = encode_row(R); + for(var C = range.s.c; C <= range.e.c; ++C) { + if(R === range.s.r) cols[C] = encode_col(C); + ref = cols[C] + rr; + if(!ws[ref]) continue; + /* write cell */ + write_ws_biff_cell(ba, ws[ref], R, C, opts); + } + } +} + +/* Based on test files */ +function write_biff_buf(wb/*:Workbook*/, o/*:WriteOpts*/) { + var ba = buf_array(); + var idx = 0; + for(var i=0;i >*/)/*:{(o:any):void}*/ { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { var d = defaults[i]; diff --git a/bits/85_parsezip.js b/bits/85_parsezip.js index 075f294..3189995 100644 --- a/bits/85_parsezip.js +++ b/bits/85_parsezip.js @@ -6,15 +6,15 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts) { try { - sheetRels[sheet]=parse_rels(getzipdata(zip, relsPath, true), path); + sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); } catch(e) { if(opts.WTF) throw e; } } -var nodirs = function nodirs(x){return x.substr(-1) != '/';}; -function parse_zip(zip, opts) { +var nodirs = function nodirs(x/*:string*/)/*:boolean*/{return x.substr(-1) != '/';}; +function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { make_ssf(SSF); opts = opts || {}; fix_read_opts(opts); @@ -24,7 +24,7 @@ function parse_zip(zip, opts) { if(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts); var entries = keys(zip.files).filter(nodirs).sort(); - var dir = parse_ct(getzipdata(zip, '[Content_Types].xml'), opts); + var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/), opts); var xlsb = false; var sheets, binname; if(dir.workbooks.length === 0) { @@ -56,10 +56,10 @@ function parse_zip(zip, opts) { var props = {}, propdata = ""; if(dir.coreprops.length !== 0) { - propdata = getzipdata(zip, dir.coreprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.coreprops[0].replace(/^\//,''), true); if(propdata) props = parse_core_props(propdata); if(dir.extprops.length !== 0) { - propdata = getzipdata(zip, dir.extprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.extprops[0].replace(/^\//,''), true); if(propdata) parse_ext_props(propdata, props); } } @@ -67,7 +67,7 @@ function parse_zip(zip, opts) { var custprops = {}; if(!opts.bookSheets || opts.bookProps) { if (dir.custprops.length !== 0) { - propdata = getzipdata(zip, dir.custprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.custprops[0].replace(/^\//,''), true); if(propdata) custprops = parse_cust_props(propdata, opts); } } @@ -86,7 +86,7 @@ function parse_zip(zip, opts) { if(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, dir.calcchain.replace(/^\//,'')),dir.calcchain,opts); var i=0; - var sheetRels = {}; + var sheetRels = ({}/*:any*/); var path, relsPath; if(!props.Worksheets) { var wbsheets = wb.Sheets; @@ -99,12 +99,12 @@ function parse_zip(zip, opts) { var wbext = xlsb ? "bin" : "xml"; var wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels'; - var wbrels = parse_rels(getzipdata(zip, wbrelsfile, true), wbrelsfile); + var wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile); if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; for(i = 0; i != props.Worksheets; ++i) { - if(wbrels) path = 'xl/' + (wbrels[i][1]).replace(/[\/]?xl\//, ""); + if(wbrels && wbrels[i]) path = 'xl/' + (wbrels[i][1]).replace(/[\/]?xl\//, ""); else { path = 'xl/worksheets/sheet'+(i+1-nmode)+"." + wbext; path = path.replace(/sheet0\./,"sheet."); @@ -115,7 +115,7 @@ function parse_zip(zip, opts) { if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); - out = { + out = ({ Directory: dir, Workbook: wb, Props: props, @@ -127,14 +127,14 @@ function parse_zip(zip, opts) { Styles: styles, Themes: themes, SSF: SSF.get_table() - }; + }/*:any*/); if(opts.bookFiles) { out.keys = entries; out.files = zip.files; } if(opts.bookVBA) { if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); - else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + else if(dir.defaults && dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } diff --git a/bits/86_writezip.js b/bits/86_writezip.js index acab025..654f86b 100644 --- a/bits/86_writezip.js +++ b/bits/86_writezip.js @@ -9,7 +9,7 @@ function add_rels(rels, rId, f, type, relobj) { rels[('/' + relobj.Target).replace("//","/")] = relobj; } -function write_zip(wb, opts) { +function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/) { if(opts.bookType == "ods") return write_ods(wb, opts); if(wb && !wb.SSF) { wb.SSF = SSF.get_table(); @@ -25,19 +25,21 @@ function write_zip(wb, opts) { coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], TODO:[], rels:[], xmlns: "" }; fix_write_opts(opts = opts || {}); + /*:: if(!jszip) throw new Error("JSZip is not available"); */ var zip = new jszip(); var f = "", rId = 0; opts.cellXfs = []; get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); + if(!wb.Props) wb.Props = {}; + f = "docProps/core.xml"; zip.file(f, write_core_props(wb.Props, opts)); ct.coreprops.push(f); add_rels(opts.rels, 2, f, RELS.CORE_PROPS); f = "docProps/app.xml"; - if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); diff --git a/bits/87_read.js b/bits/87_read.js index 4b3cabb..1944767 100644 --- a/bits/87_read.js +++ b/bits/87_read.js @@ -1,14 +1,15 @@ -function firstbyte(f,o) { +function firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:number*/ { switch((o||{}).type || "base64") { case 'buffer': return f[0]; case 'base64': return Base64.decode(f.substr(0,12)).charCodeAt(0); case 'binary': return f.charCodeAt(0); case 'array': return f[0]; - default: throw new Error("Unrecognized type " + o.type); + default: throw new Error("Unrecognized type " + (o ? o.type : "undefined")); } } -function read_zip(data, opts) { +function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { + /*:: if(!jszip) throw new Error("JSZip is not available"); */ var zip, d = data; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; @@ -16,31 +17,26 @@ function read_zip(data, opts) { case "base64": zip = new jszip(d, { base64:true }); break; case "binary": case "array": zip = new jszip(d, { base64:false }); break; case "buffer": zip = new jszip(d); break; - case "file": zip=new jszip(d=_fs.readFileSync(data)); break; default: throw new Error("Unrecognized type " + o.type); } return parse_zip(zip, o); } -function readSync(data, opts) { - var zip, d = data, isfile = false, n; +function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { + var zip, d = data, n=0; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } + if(o.type == "file") { o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: - if(isfile) o.type = "file"; - return parse_xlscfb(CFB.read(data, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); + case 0xD0: return parse_xlscfb(CFB.read(d, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); case 0x3C: return parse_xlml(d, o); - case 0x50: - if(isfile) o.type = "file"; - return read_zip(data, opts); + case 0x50: return read_zip(d, o); default: throw new Error("Unsupported file " + n); } } -function readFileSync(data, opts) { +function readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var o = opts||{}; o.type = 'file'; - return readSync(data, o); + return readSync(filename, o); } diff --git a/bits/88_write.js b/bits/88_write.js index eed81c1..eef81f8 100644 --- a/bits/88_write.js +++ b/bits/88_write.js @@ -1,8 +1,8 @@ -function write_zip_type(wb, opts) { +function write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/) { var o = opts||{}; var z = write_zip(wb, o); var oopts = {}; - if(opts.compression) oopts.compression = 'DEFLATE'; + if(o.compression) oopts.compression = 'DEFLATE'; switch(o.type) { case "base64": oopts.type = "base64"; break; case "binary": oopts.type = "string"; break; @@ -14,15 +14,16 @@ function write_zip_type(wb, opts) { return z.generate(oopts); } -function writeSync(wb, opts) { +function writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) { var o = opts||{}; switch(o.bookType) { case 'xml': return write_xlml(wb, o); + case 'biff2': return write_biff(wb, o); default: return write_zip_type(wb, o); } } -function writeFileSync(wb, filename, opts) { +function writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) { var o = opts||{}; o.type = 'file'; o.file = filename; if(!o.bookType) switch(o.file.substr(-5).toLowerCase()) { @@ -30,7 +31,7 @@ function writeFileSync(wb, filename, opts) { case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; default: switch(o.file.substr(-4).toLowerCase()) { - case '.xls': o.bookType = 'xls'; break; + case '.xls': o.bookType = 'biff2'; break; case '.xml': o.bookType = 'xml'; break; case '.ods': o.bookType = 'ods'; break; }} diff --git a/bits/90_utils.js b/bits/90_utils.js index 17508ce..903c42c 100644 --- a/bits/90_utils.js +++ b/bits/90_utils.js @@ -1,26 +1,26 @@ -function decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; } -function encode_row(row) { return "" + (row + 1); } -function fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } -function unfix_row(cstr) { return cstr.replace(/\$(\d+)$/,"$1"); } +function decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; } +function encode_row(row/*:number*/)/*:string*/ { return "" + (row + 1); } +function fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } +function unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\$(\d+)$/,"$1"); } -function decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; } -function encode_col(col) { var s=""; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; } -function fix_col(cstr) { return cstr.replace(/^([A-Z])/,"$$$1"); } -function unfix_col(cstr) { return cstr.replace(/^\$([A-Z])/,"$1"); } +function 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; } +function encode_col(col/*:number*/)/*:string*/ { var s=""; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; } +function fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,"$$$1"); } +function unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\$([A-Z])/,"$1"); } -function split_cell(cstr) { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } -function decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } -function encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); } -function fix_cell(cstr) { return fix_col(fix_row(cstr)); } -function unfix_cell(cstr) { return unfix_col(unfix_row(cstr)); } -function decode_range(range) { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; } -function encode_range(cs,ce) { +function split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } +function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } +function encode_cell(cell/*:Cell*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); } +function fix_cell(cstr/*:string*/)/*:string*/ { return fix_col(fix_row(cstr)); } +function unfix_cell(cstr/*:string*/)/*:string*/ { return unfix_col(unfix_row(cstr)); } +function decode_range(range/*:string*/)/*:Range*/ { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; } +function encode_range(cs/*:any*/,ce/*:?any*/)/*:string*/ { if(ce === undefined || typeof ce === 'number') return encode_range(cs.s, cs.e); if(typeof cs !== 'string') cs = encode_cell(cs); if(typeof ce !== 'string') ce = encode_cell(ce); return cs == ce ? cs : cs + ":" + ce; } -function safe_decode_range(range) { +function safe_decode_range(range/*:string*/)/*:Range*/ { var o = {s:{c:0,r:0},e:{c:0,r:0}}; var idx = 0, i = 0, cc = 0; var len = range.length; @@ -52,20 +52,20 @@ function safe_decode_range(range) { return o; } -function safe_format_cell(cell, v) { +function safe_format_cell(cell/*:Cell*/, v/*:any*/) { if(cell.z !== undefined) try { return (cell.w = SSF.format(cell.z, v)); } catch(e) { } if(!cell.XF) return v; try { return (cell.w = SSF.format(cell.XF.ifmt||0, v)); } catch(e) { return ''+v; } } -function format_cell(cell, v) { +function format_cell(cell/*:Cell*/, v/*:any*/) { if(cell == null || cell.t == null) return ""; if(cell.w !== undefined) return cell.w; if(v === undefined) return safe_format_cell(cell, cell.v); return safe_format_cell(cell, v); } -function sheet_to_json(sheet, opts){ +function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/){ var val, row, range, header = 0, offset = 1, r, hdr = [], isempty, R, C, v; var o = opts != null ? opts : {}; var raw = o.raw; @@ -127,9 +127,9 @@ function sheet_to_json(sheet, opts){ return out; } -function sheet_to_row_object_array(sheet, opts) { return sheet_to_json(sheet, opts != null ? opts : {}); } +function sheet_to_row_object_array(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { return sheet_to_json(sheet, opts != null ? opts : {}); } -function sheet_to_csv(sheet, opts) { +function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { var out = "", txt = "", qreg = /"/g; var o = opts == null ? {} : opts; if(sheet == null || sheet["!ref"] == null) return ""; @@ -156,7 +156,7 @@ function sheet_to_csv(sheet, opts) { } var make_csv = sheet_to_csv; -function sheet_to_formulae(sheet) { +function sheet_to_formulae(sheet/*:Worksheet*/) { var cmds, y = "", x, val=""; if(sheet == null || sheet["!ref"] == null) return ""; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; diff --git a/bower.json b/bower.json index 8a7563d..ec5b885 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,7 @@ { "name": "js-xlsx", "homepage": "https://github.com/SheetJS/js-xlsx", - "main": "dist/xlsx.js", - "version": "0.8.2", + "main": "dist/xlsx.core.min.js", "ignore": [ "bin", "bits", diff --git a/dist/ods.js b/dist/ods.js index ea1abc5..f0b2aa1 100644 --- a/dist/ods.js +++ b/dist/ods.js @@ -61,8 +61,7 @@ var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } diff --git a/dist/ods.min.js b/dist/ods.min.js index 18dab55..493b004 100644 --- a/dist/ods.min.js +++ b/dist/ods.min.js @@ -1,2 +1,2 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var ODS={};(function make_ods(ODS){var get_utils=function(){if(typeof XLSX!=="undefined")return XLSX.utils;if(typeof module!=="undefined"&&typeof require!=="undefined")try{return require("../"+"xlsx").utils}catch(e){try{return require("./"+"xlsx").utils}catch(ee){return require("xl"+"sx").utils}}throw new Error("Cannot find XLSX utils")};var has_buf=typeof Buffer!=="undefined";function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function getdata(data){if(!data)return null;if(data.data)return data.data;if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer().toString("binary");if(data.asBinary)return data.asBinary();if(data._data&&data._data.getContent)return cc2str(Array.prototype.slice.call(data._data.getContent(),0));return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_fs=require("f"+"s")}}var attregexg=/\b[\w:-]+=["'][^"]*['"]/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding={'"':""","'":"'",">":">","<":"<","&":"&"};var rencstr="&<>'\"".split("");var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}function parsexmlbool(value){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}function datenum(v){var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function parse_isodur(s){var sec=0,mt=0,time=false;var m=s.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!m)throw new Error("|"+s+"| is not an ISO8601 Duration");for(var i=1;i!=m.length;++i){if(!m[i])continue;mt=1;if(i>3)time=true;switch(m[i].substr(m[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+m[i].substr(m[i].length-1));case"D":mt*=24;case"H":mt*=60;case"M":if(!time)throw new Error("Unsupported ISO Duration Field: M");else mt*=60;case"S":break}sec+=mt*parseInt(m[i],10)}return sec}var XML_HEADER='\r\n';function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)([\w-]+)[^>]*>/gm;var CT_ODS="application/vnd.oasis.opendocument.spreadsheet";function parse_manifest(d,opts){var str=xlml_normalize(d);var Rn;var FEtag;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"manifest":break;case"file-entry":FEtag=parsexmltag(Rn[0],false);if(FEtag.path=="/"&&FEtag.type!==CT_ODS)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(opts&&opts.WTF)throw Rn}}function write_manifest(manifest,opts){var o=[XML_HEADER];o.push('\n');o.push(' \n');for(var i=0;i\n');o.push("");return o.join("")}function write_rdf_type(file,res,tag){return[' \n',' \n'," \n"].join("")}function write_rdf_has(base,file){return[' \n',' \n'," \n"].join("")}function write_rdf(rdf,opts){var o=[XML_HEADER];o.push('\n');for(var i=0;i!=rdf.length;++i){o.push(write_rdf_type(rdf[i][0],rdf[i][1]));o.push(write_rdf_has("",rdf[i][0]))}o.push(write_rdf_type("","Document","pkg"));o.push("");return o.join("")}var parse_text_p=function(text,tag){return unescapexml(utf8read(text.replace(//g," ").replace(/<[^>]*>/g,"")))};var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};var parse_content_xml=function(){var number_formats={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"]};return function pcx(d,opts){var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var Sheets={},SheetNames=[],ws={};var Rn,q;var ctag={value:""};var textp="",textpidx=0,textptag;var R=-1,C=-1,range={s:{r:1e6,c:1e7},e:{r:0,c:0}};var number_format_map={};var merges=[],mrange={},mR=0,mC=0;var rept=1;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"table":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=get_utils().encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag.name);SheetNames.push(sheetag.name);Sheets[sheetag.name]=ws}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){sheetag=parsexmltag(Rn[0],false);R=C=-1;range.s.r=range.s.c=1e7;range.e.r=range.e.c=0;ws={};merges=[]}break;case"table-row":if(Rn[1]==="/")break;++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":if(Rn[0].charAt(Rn[0].length-2)==="/"){ctag=parsexmltag(Rn[0],false);if(ctag["number-columns-repeated"])C+=parseInt(ctag["number-columns-repeated"],10);else++C}else if(Rn[1]!=="/"){++C;rept=1;if(C>range.e.c)range.e.c=C;if(R>range.e.r)range.e.r=R;if(C0)ws[get_utils().encode_cell({r:R,c:++C})]=dup(q);if(range.e.c<=C)range.e.c=C}q={};textp=""}break;case"document-content":case"spreadsheet":case"scripts":case"font-face-decls":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],false]);break;case"number-style":case"percentage-style":case"date-style":case"time-style":if(Rn[1]==="/"){number_format_map[NFtag.name]=NF;if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){NF="";NFtag=parsexmltag(Rn[0],false);state.push([Rn[3],true])}break;case"script":break;case"automatic-styles":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"fraction":break;case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")switch(state[state.length-1][0]){case"number-style":case"date-style":case"time-style":NF+=str.slice(pidx,Rn.index);break}else pidx=Rn.index+Rn[0].length;break;case"text-content":break;case"text-properties":break;case"body":break;case"forms":break;case"table-column":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"named-range":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"span":break;case"line-break":break;case"p":if(Rn[1]==="/")textp=parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"s":break;case"date":break;case"object":break;case"title":break;case"desc":break;case"table-source":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"error-message":break;case"database-ranges":break;case"database-range":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":break;case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":break;case"properties":break;case"property":break;case"a":break;case"table-protection":break;case"data-pilot-grand-total":break;default:if(Rn[2]==="dc:")break;if(Rn[2]==="draw:")break;if(Rn[2]==="calcext:")break;if(opts.WTF)throw Rn}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=get_utils().decode_range(ws["!ref"]);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;C'+(cell.v?"TRUE":"FALSE")+"\n");break;case"n":o.push(' '+(cell.w||cell.v)+"\n");break;case"s":case"str":o.push(' '+escapexml(cell.v)+"\n");break;default:o.push(null_cell_xml)}else o.push(null_cell_xml)}o.push(" \n")}o.push(" \n");return o.join("")};return function wcx(wb,opts){var o=[XML_HEADER];o.push('\n');o.push(" \n");o.push(" \n");for(var i=0;i!=wb.SheetNames.length;++i)o.push(write_ws(wb.Sheets[wb.SheetNames[i]],wb,i,opts));o.push(" \n");o.push(" \n");o.push("");return o.join("")}}();function parse_ods(zip,opts){opts=opts||{};var manifest=parse_manifest(getzipdata(zip,"META-INF/manifest.xml"),opts);return parse_content_xml(getzipdata(zip,"content.xml"),opts)}function write_ods(wb,opts){var zip=new jszip;var f="";var manifest=[];var rdf=[];f="mimetype";zip.file(f,"application/vnd.oasis.opendocument.spreadsheet");f="content.xml";zip.file(f,write_content_xml(wb,opts));manifest.push([f,"text/xml"]);rdf.push([f,"ContentFile"]);f="manifest.rdf";zip.file(f,write_rdf(rdf,opts));manifest.push([f,"application/rdf+xml"]);f="META-INF/manifest.xml";zip.file(f,write_manifest(manifest,opts));return zip}ODS.parse_ods=parse_ods;ODS.write_ods=write_ods})(typeof exports!=="undefined"?exports:ODS); +var ODS={};(function make_ods(ODS){var get_utils=function(){if(typeof XLSX!=="undefined")return XLSX.utils;if(typeof module!=="undefined"&&typeof require!=="undefined")try{return require("../"+"xlsx").utils}catch(e){try{return require("./"+"xlsx").utils}catch(ee){return require("xl"+"sx").utils}}throw new Error("Cannot find XLSX utils")};var has_buf=typeof Buffer!=="undefined";function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function getdata(data){if(!data)return null;if(data.data)return data.data;if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer().toString("binary");if(data.asBinary)return data.asBinary();if(data._data&&data._data.getContent)return cc2str(Array.prototype.slice.call(data._data.getContent(),0));return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/\b[\w:-]+=["'][^"]*['"]/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding={'"':""","'":"'",">":">","<":"<","&":"&"};var rencstr="&<>'\"".split("");var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}function parsexmlbool(value){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}function datenum(v){var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function parse_isodur(s){var sec=0,mt=0,time=false;var m=s.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!m)throw new Error("|"+s+"| is not an ISO8601 Duration");for(var i=1;i!=m.length;++i){if(!m[i])continue;mt=1;if(i>3)time=true;switch(m[i].substr(m[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+m[i].substr(m[i].length-1));case"D":mt*=24;case"H":mt*=60;case"M":if(!time)throw new Error("Unsupported ISO Duration Field: M");else mt*=60;case"S":break}sec+=mt*parseInt(m[i],10)}return sec}var XML_HEADER='\r\n';function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)([\w-]+)[^>]*>/gm;var CT_ODS="application/vnd.oasis.opendocument.spreadsheet";function parse_manifest(d,opts){var str=xlml_normalize(d);var Rn;var FEtag;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"manifest":break;case"file-entry":FEtag=parsexmltag(Rn[0],false);if(FEtag.path=="/"&&FEtag.type!==CT_ODS)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(opts&&opts.WTF)throw Rn}}function write_manifest(manifest,opts){var o=[XML_HEADER];o.push('\n');o.push(' \n');for(var i=0;i\n');o.push("");return o.join("")}function write_rdf_type(file,res,tag){return[' \n',' \n'," \n"].join("")}function write_rdf_has(base,file){return[' \n',' \n'," \n"].join("")}function write_rdf(rdf,opts){var o=[XML_HEADER];o.push('\n');for(var i=0;i!=rdf.length;++i){o.push(write_rdf_type(rdf[i][0],rdf[i][1]));o.push(write_rdf_has("",rdf[i][0]))}o.push(write_rdf_type("","Document","pkg"));o.push("");return o.join("")}var parse_text_p=function(text,tag){return unescapexml(utf8read(text.replace(//g," ").replace(/<[^>]*>/g,"")))};var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};var parse_content_xml=function(){var number_formats={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"]};return function pcx(d,opts){var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var Sheets={},SheetNames=[],ws={};var Rn,q;var ctag={value:""};var textp="",textpidx=0,textptag;var R=-1,C=-1,range={s:{r:1e6,c:1e7},e:{r:0,c:0}};var number_format_map={};var merges=[],mrange={},mR=0,mC=0;var rept=1;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"table":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=get_utils().encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag.name);SheetNames.push(sheetag.name);Sheets[sheetag.name]=ws}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){sheetag=parsexmltag(Rn[0],false);R=C=-1;range.s.r=range.s.c=1e7;range.e.r=range.e.c=0;ws={};merges=[]}break;case"table-row":if(Rn[1]==="/")break;++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":if(Rn[0].charAt(Rn[0].length-2)==="/"){ctag=parsexmltag(Rn[0],false);if(ctag["number-columns-repeated"])C+=parseInt(ctag["number-columns-repeated"],10);else++C}else if(Rn[1]!=="/"){++C;rept=1;if(C>range.e.c)range.e.c=C;if(R>range.e.r)range.e.r=R;if(C0)ws[get_utils().encode_cell({r:R,c:++C})]=dup(q);if(range.e.c<=C)range.e.c=C}q={};textp=""}break;case"document-content":case"spreadsheet":case"scripts":case"font-face-decls":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],false]);break;case"number-style":case"percentage-style":case"date-style":case"time-style":if(Rn[1]==="/"){number_format_map[NFtag.name]=NF;if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){NF="";NFtag=parsexmltag(Rn[0],false);state.push([Rn[3],true])}break;case"script":break;case"automatic-styles":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"fraction":break;case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")switch(state[state.length-1][0]){case"number-style":case"date-style":case"time-style":NF+=str.slice(pidx,Rn.index);break}else pidx=Rn.index+Rn[0].length;break;case"text-content":break;case"text-properties":break;case"body":break;case"forms":break;case"table-column":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"named-range":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"span":break;case"line-break":break;case"p":if(Rn[1]==="/")textp=parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"s":break;case"date":break;case"object":break;case"title":break;case"desc":break;case"table-source":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"error-message":break;case"database-ranges":break;case"database-range":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":break;case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":break;case"properties":break;case"property":break;case"a":break;case"table-protection":break;case"data-pilot-grand-total":break;default:if(Rn[2]==="dc:")break;if(Rn[2]==="draw:")break;if(Rn[2]==="calcext:")break;if(opts.WTF)throw Rn}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=get_utils().decode_range(ws["!ref"]);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;C'+(cell.v?"TRUE":"FALSE")+"\n");break;case"n":o.push(' '+(cell.w||cell.v)+"\n");break;case"s":case"str":o.push(' '+escapexml(cell.v)+"\n");break;default:o.push(null_cell_xml)}else o.push(null_cell_xml)}o.push(" \n")}o.push(" \n");return o.join("")};return function wcx(wb,opts){var o=[XML_HEADER];o.push('\n');o.push(" \n");o.push(" \n");for(var i=0;i!=wb.SheetNames.length;++i)o.push(write_ws(wb.Sheets[wb.SheetNames[i]],wb,i,opts));o.push(" \n");o.push(" \n");o.push("");return o.join("")}}();function parse_ods(zip,opts){opts=opts||{};var manifest=parse_manifest(getzipdata(zip,"META-INF/manifest.xml"),opts);return parse_content_xml(getzipdata(zip,"content.xml"),opts)}function write_ods(wb,opts){var zip=new jszip;var f="";var manifest=[];var rdf=[];f="mimetype";zip.file(f,"application/vnd.oasis.opendocument.spreadsheet");f="content.xml";zip.file(f,write_content_xml(wb,opts));manifest.push([f,"text/xml"]);rdf.push([f,"ContentFile"]);f="manifest.rdf";zip.file(f,write_rdf(rdf,opts));manifest.push([f,"application/rdf+xml"]);f="META-INF/manifest.xml";zip.file(f,write_manifest(manifest,opts));return zip}ODS.parse_ods=parse_ods;ODS.write_ods=write_ods})(typeof exports!=="undefined"?exports:ODS); diff --git a/dist/ods.min.map b/dist/ods.min.map index 1388e9e..5c36027 100644 --- a/dist/ods.min.map +++ b/dist/ods.min.map @@ -1 +1 @@ -{"version":3,"sources":["ods.js"],"names":["ODS","make_ods","get_utils","XLSX","utils","module","require","e","ee","Error","has_buf","Buffer","cc2str","arr","o","i","length","String","fromCharCode","dup","JSON","parse","stringify","out","k","hasOwnProperty","getdata","data","asNodeBuffer","toString","asBinary","_data","getContent","Array","prototype","slice","call","safegetzipfile","zip","file","f","files","toLowerCase","replace","getzipfile","getzipdata","safe","_fs","jszip","JSZip","exports","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","c","charCodeAt","substr","m","match","j","v","q","cc","substring","strip_ns","x","encodings",""","'",">","<","&","rencoding","\"","'",">","<","&","rencstr","split","encregex","coderegex","unescapexml","text","s","$$","parseInt","decregex","charegex","escapexml","y","parsexmlbool","value","datenum","epoch","Date","parse_isodur","sec","mt","time","XML_HEADER","xlml_normalize","d","isBuffer","xlmlregex","CT_ODS","parse_manifest","opts","str","Rn","FEtag","exec","path","type","WTF","write_manifest","manifest","push","join","write_rdf_type","res","write_rdf_has","base","write_rdf","rdf","parse_text_p","utf8read","utf8reada","orig","w","parse_content_xml","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","state","tmp","NFtag","name","NF","pidx","sheetag","Sheets","SheetNames","ws","ctag","textp","textpidx","textptag","R","C","range","r","number_format_map","merges","mrange","mR","mC","rept","lastIndex","encode_range","charAt","t","parseFloat","sheetRows","encode_cell","pop","style","index","write_content_xml","null_cell_xml","write_ws","wb","decode_range","ref","cell","wcx","parse_ods","write_ods"],"mappings":"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","file":"dist/ods.min.js"} \ No newline at end of file +{"version":3,"sources":["ods.js"],"names":["ODS","make_ods","get_utils","XLSX","utils","module","require","e","ee","Error","has_buf","Buffer","cc2str","arr","o","i","length","String","fromCharCode","dup","JSON","parse","stringify","out","k","hasOwnProperty","getdata","data","asNodeBuffer","toString","asBinary","_data","getContent","Array","prototype","slice","call","safegetzipfile","zip","file","f","files","toLowerCase","replace","getzipfile","getzipdata","safe","_fs","jszip","JSZip","exports","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","c","charCodeAt","substr","m","match","j","v","q","cc","substring","strip_ns","x","encodings",""","'",">","<","&","rencoding","\"","'",">","<","&","rencstr","split","encregex","coderegex","unescapexml","text","s","$$","parseInt","decregex","charegex","escapexml","y","parsexmlbool","value","datenum","epoch","Date","parse_isodur","sec","mt","time","XML_HEADER","xlml_normalize","d","isBuffer","xlmlregex","CT_ODS","parse_manifest","opts","str","Rn","FEtag","exec","path","type","WTF","write_manifest","manifest","push","join","write_rdf_type","res","write_rdf_has","base","write_rdf","rdf","parse_text_p","utf8read","utf8reada","orig","w","parse_content_xml","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","state","tmp","NFtag","name","NF","pidx","sheetag","Sheets","SheetNames","ws","ctag","textp","textpidx","textptag","R","C","range","r","number_format_map","merges","mrange","mR","mC","rept","lastIndex","encode_range","charAt","t","parseFloat","sheetRows","encode_cell","pop","style","index","write_content_xml","null_cell_xml","write_ws","wb","decode_range","ref","cell","wcx","parse_ods","write_ods"],"mappings":"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","file":"dist/ods.min.js"} \ No newline at end of file diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js index f8ed69e..2729bab 100644 --- a/dist/xlsx.core.min.js +++ b/dist/xlsx.core.min.js @@ -2,13 +2,13 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.JSZip=e()}}(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}output=output+_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+_keyStr.charAt(enc3)+_keyStr.charAt(enc4)}return output};exports.decode=function(input,utf8){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}if(enc4!=64){output=output+String.fromCharCode(chr3)}}return output}},{}],2:[function(_dereq_,module,exports){"use strict";function CompressedObject(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}CompressedObject.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};module.exports=CompressedObject},{}],3:[function(_dereq_,module,exports){"use strict";exports.STORE={magic:"\0\0",compress:function(content){return content},uncompress:function(content){return content},compressInputType:null,uncompressInputType:null};exports.DEFLATE=_dereq_("./flate")},{"./flate":8}],4:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var table=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];module.exports=function crc32(input,crc){if(typeof input==="undefined"||!input.length){return 0}var isArray=utils.getTypeOf(input)!=="string";if(typeof crc=="undefined"){crc=0}var x=0;var y=0;var b=0;crc=crc^-1;for(var i=0,iTop=input.length;i>>8^x}return crc^-1}},{"./utils":21}],5:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");function DataReader(data){this.data=null;this.length=0;this.index=0}DataReader.prototype={checkOffset:function(offset){this.checkIndex(this.index+offset)},checkIndex:function(newIndex){if(this.length=this.index;i--){result=(result<<8)+this.byteAt(i)}this.index+=size;return result},readString:function(size){return utils.transformTo("string",this.readData(size))},readData:function(size){},lastIndexOfSignature:function(sig){},readDate:function(){var dostime=this.readInt(4);return new Date((dostime>>25&127)+1980,(dostime>>21&15)-1,dostime>>16&31,dostime>>11&31,dostime>>5&63,(dostime&31)<<1)}};module.exports=DataReader},{"./utils":21}],6:[function(_dereq_,module,exports){"use strict";exports.base64=false;exports.binary=false;exports.dir=false;exports.createFolders=false;exports.date=null;exports.compression=null;exports.comment=null},{}],7:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");exports.string2binary=function(str){return utils.string2binary(str)};exports.string2Uint8Array=function(str){return utils.transformTo("uint8array",str)};exports.uint8Array2String=function(array){return utils.transformTo("string",array)};exports.string2Blob=function(str){var buffer=utils.transformTo("arraybuffer",str);return utils.arrayBuffer2Blob(buffer)};exports.arrayBuffer2Blob=function(buffer){return utils.arrayBuffer2Blob(buffer)};exports.transformTo=function(outputType,input){return utils.transformTo(outputType,input)};exports.getTypeOf=function(input){return utils.getTypeOf(input)};exports.checkSupport=function(type){return utils.checkSupport(type)};exports.MAX_VALUE_16BITS=utils.MAX_VALUE_16BITS;exports.MAX_VALUE_32BITS=utils.MAX_VALUE_32BITS;exports.pretty=function(str){return utils.pretty(str)};exports.findCompression=function(compressionMethod){return utils.findCompression(compressionMethod)};exports.isRegExp=function(object){return utils.isRegExp(object)}},{"./utils":21}],8:[function(_dereq_,module,exports){"use strict";var USE_TYPEDARRAY=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Uint32Array!=="undefined";var pako=_dereq_("pako");exports.uncompressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.compressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.magic="\b\0";exports.compress=function(input){return pako.deflateRaw(input)};exports.uncompress=function(input){return pako.inflateRaw(input)}},{pako:24}],9:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");function JSZip(data,options){if(!(this instanceof JSZip))return new JSZip(data,options);this.files={};this.comment=null;this.root="";if(data){this.load(data,options)}this.clone=function(){var newObj=new JSZip;for(var i in this){if(typeof this[i]!=="function"){newObj[i]=this[i]}}return newObj}}JSZip.prototype=_dereq_("./object");JSZip.prototype.load=_dereq_("./load");JSZip.support=_dereq_("./support");JSZip.defaults=_dereq_("./defaults");JSZip.utils=_dereq_("./deprecatedPublicUtils");JSZip.base64={encode:function(input){return base64.encode(input)},decode:function(input){return base64.decode(input)}};JSZip.compressions=_dereq_("./compressions");module.exports=JSZip},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");var ZipEntries=_dereq_("./zipEntries");module.exports=function(data,options){var files,zipEntries,i,input;options=options||{};if(options.base64){data=base64.decode(data)}zipEntries=new ZipEntries(data,options);files=zipEntries.files;for(i=0;i>>8}return hex};var extend=function(){var result={},i,attr;for(i=0;i0?path.substring(0,lastSlash):""};var folderAdd=function(name,createFolders){if(name.slice(-1)!="/"){name+="/"}createFolders=typeof createFolders!=="undefined"?createFolders:false;if(!this.files[name]){fileAdd.call(this,name,null,{dir:true,createFolders:createFolders})}return this.files[name]};var generateCompressedObjectFrom=function(file,compression){var result=new CompressedObject,content;if(file._data instanceof CompressedObject){result.uncompressedSize=file._data.uncompressedSize;result.crc32=file._data.crc32;if(result.uncompressedSize===0||file.dir){compression=compressions["STORE"];result.compressedContent="";result.crc32=0}else if(file._data.compressionMethod===compression.magic){result.compressedContent=file._data.getCompressedContent()}else{content=file._data.getContent();result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}}else{content=getBinaryData(file);if(!content||content.length===0||file.dir){compression=compressions["STORE"];content=""}result.uncompressedSize=content.length;result.crc32=crc32(content);result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}result.compressedSize=result.compressedContent.length;result.compressionMethod=compression.magic;return result};var generateZipParts=function(name,file,compressedObject,offset){var data=compressedObject.compressedContent,utfEncodedFileName=utils.transformTo("string",utf8.utf8encode(file.name)),comment=file.comment||"",utfEncodedComment=utils.transformTo("string",utf8.utf8encode(comment)),useUTF8ForFileName=utfEncodedFileName.length!==file.name.length,useUTF8ForComment=utfEncodedComment.length!==comment.length,o=file.options,dosTime,dosDate,extraFields="",unicodePathExtraField="",unicodeCommentExtraField="",dir,date;if(file._initialMetadata.dir!==file.dir){dir=file.dir}else{dir=o.dir}if(file._initialMetadata.date!==file.date){date=file.date}else{date=o.date}dosTime=date.getHours();dosTime=dosTime<<6;dosTime=dosTime|date.getMinutes();dosTime=dosTime<<5;dosTime=dosTime|date.getSeconds()/2;dosDate=date.getFullYear()-1980;dosDate=dosDate<<4;dosDate=dosDate|date.getMonth()+1;dosDate=dosDate<<5;dosDate=dosDate|date.getDate();if(useUTF8ForFileName){unicodePathExtraField=decToHex(1,1)+decToHex(crc32(utfEncodedFileName),4)+utfEncodedFileName;extraFields+="up"+decToHex(unicodePathExtraField.length,2)+unicodePathExtraField}if(useUTF8ForComment){unicodeCommentExtraField=decToHex(1,1)+decToHex(this.crc32(utfEncodedComment),4)+utfEncodedComment;extraFields+="uc"+decToHex(unicodeCommentExtraField.length,2)+unicodeCommentExtraField}var header="";header+="\n\0";header+=useUTF8ForFileName||useUTF8ForComment?"\0\b":"\0\0";header+=compressedObject.compressionMethod;header+=decToHex(dosTime,2);header+=decToHex(dosDate,2);header+=decToHex(compressedObject.crc32,4);header+=decToHex(compressedObject.compressedSize,4);header+=decToHex(compressedObject.uncompressedSize,4);header+=decToHex(utfEncodedFileName.length,2);header+=decToHex(extraFields.length,2);var fileRecord=signature.LOCAL_FILE_HEADER+header+utfEncodedFileName+extraFields;var dirRecord=signature.CENTRAL_FILE_HEADER+"\0"+header+decToHex(utfEncodedComment.length,2)+"\0\0"+"\0\0"+(dir===true?"\0\0\0":"\0\0\0\0")+decToHex(offset,4)+utfEncodedFileName+extraFields+utfEncodedComment;return{fileRecord:fileRecord,dirRecord:dirRecord,compressedObject:compressedObject}};var out={load:function(stream,options){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(search){var result=[],filename,relativePath,file,fileClone;for(filename in this.files){if(!this.files.hasOwnProperty(filename)){continue}file=this.files[filename];fileClone=new ZipObject(file.name,file._data,extend(file.options));relativePath=filename.slice(this.root.length,filename.length);if(filename.slice(0,this.root.length)===this.root&&search(relativePath,fileClone)){result.push(fileClone)}}return result},file:function(name,data,o){if(arguments.length===1){if(utils.isRegExp(name)){var regexp=name;return this.filter(function(relativePath,file){return!file.dir&®exp.test(relativePath)})}else{return this.filter(function(relativePath,file){return!file.dir&&relativePath===name})[0]||null}}else{name=this.root+name;fileAdd.call(this,name,data,o)}return this},folder:function(arg){if(!arg){return this}if(utils.isRegExp(arg)){return this.filter(function(relativePath,file){return file.dir&&arg.test(relativePath)})}var name=this.root+arg;var newFolder=folderAdd.call(this,name);var ret=this.clone();ret.root=newFolder.name;return ret},remove:function(name){name=this.root+name;var file=this.files[name];if(!file){if(name.slice(-1)!="/"){name+="/"}file=this.files[name]}if(file&&!file.dir){delete this.files[name]}else{var kids=this.filter(function(relativePath,file){return file.name.slice(0,name.length)===name});for(var i=0;i=0;--i){if(this.data[i]===sig0&&this.data[i+1]===sig1&&this.data[i+2]===sig2&&this.data[i+3]===sig3){return i}}return-1};Uint8ArrayReader.prototype.readData=function(size){this.checkOffset(size);if(size===0){return new Uint8Array(0)}var result=this.data.subarray(this.index,this.index+size);this.index+=size;return result};module.exports=Uint8ArrayReader},{"./dataReader":5}],19:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var Uint8ArrayWriter=function(length){this.data=new Uint8Array(length);this.index=0};Uint8ArrayWriter.prototype={append:function(input){if(input.length!==0){input=utils.transformTo("uint8array",input);this.data.set(input,this.index);this.index+=input.length}},finalize:function(){return this.data}};module.exports=Uint8ArrayWriter},{"./utils":21}],20:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var support=_dereq_("./support");var nodeBuffer=_dereq_("./nodeBuffer");var _utf8len=new Array(256);for(var i=0;i<256;i++){_utf8len[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;var string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};var utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max};var buf2string=function(buf){var str,i,out,c,c_len;var len=buf.length;var utf16buf=new Array(len*2);for(out=0,i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}if(utf16buf.length!==out){if(utf16buf.subarray){utf16buf=utf16buf.subarray(0,out)}else{utf16buf.length=out}}return utils.applyFromCharCode(utf16buf)};exports.utf8encode=function utf8encode(str){if(support.nodebuffer){return nodeBuffer(str,"utf-8")}return string2buf(str)};exports.utf8decode=function utf8decode(buf){if(support.nodebuffer){return utils.transformTo("nodebuffer",buf).toString("utf-8")}buf=utils.transformTo(support.uint8array?"uint8array":"array",buf);var result=[],k=0,len=buf.length,chunk=65536;while(k1){try{if(type==="array"||type==="nodebuffer"){result.push(String.fromCharCode.apply(null,array.slice(k,Math.min(k+chunk,len))))}else{result.push(String.fromCharCode.apply(null,array.subarray(k,Math.min(k+chunk,len))))}k+=chunk}catch(e){chunk=Math.floor(chunk/2)}}return result.join("")}exports.applyFromCharCode=arrayLikeToString;function arrayLikeToArrayLike(arrayFrom,arrayTo){for(var i=0;i1){throw new Error("Multi-volumes zip are not supported")}},readLocalFiles:function(){var i,file;for(i=0;i0){opt.windowBits=-opt.windowBits}else if(opt.gzip&&opt.windowBits>0&&opt.windowBits<16){opt.windowBits+=16}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_deflate.deflateInit2(this.strm,opt.level,opt.method,opt.windowBits,opt.memLevel,opt.strategy);if(status!==Z_OK){throw new Error(msg[status])}if(opt.header){zlib_deflate.deflateSetHeader(this.strm,opt.header)}};Deflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?Z_FINISH:Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.string2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_deflate.deflate(strm,_mode);if(status!==Z_STREAM_END&&status!==Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.avail_out===0||strm.avail_in===0&&_mode===Z_FINISH){if(this.options.to==="string"){this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output,strm.next_out)))}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}while((strm.avail_in>0||strm.avail_out===0)&&status!==Z_STREAM_END);if(_mode===Z_FINISH){status=zlib_deflate.deflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===Z_OK}return true};Deflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Deflate.prototype.onEnd=function(status){if(status===Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function deflate(input,options){var deflator=new Deflate(options);deflator.push(input,true);if(deflator.err){throw deflator.msg}return deflator.result}function deflateRaw(input,options){options=options||{};options.raw=true;return deflate(input,options)}function gzip(input,options){options=options||{};options.gzip=true;return deflate(input,options)}exports.Deflate=Deflate;exports.deflate=deflate;exports.deflateRaw=deflateRaw;exports.gzip=gzip},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(_dereq_,module,exports){"use strict";var zlib_inflate=_dereq_("./zlib/inflate.js");var utils=_dereq_("./utils/common");var strings=_dereq_("./utils/strings");var c=_dereq_("./zlib/constants");var msg=_dereq_("./zlib/messages");var zstream=_dereq_("./zlib/zstream");var gzheader=_dereq_("./zlib/gzheader");var Inflate=function(options){this.options=utils.assign({chunkSize:16384,windowBits:0,to:""},options||{});var opt=this.options;if(opt.raw&&opt.windowBits>=0&&opt.windowBits<16){opt.windowBits=-opt.windowBits;if(opt.windowBits===0){opt.windowBits=-15}}if(opt.windowBits>=0&&opt.windowBits<16&&!(options&&options.windowBits)){opt.windowBits+=32}if(opt.windowBits>15&&opt.windowBits<48){if((opt.windowBits&15)===0){opt.windowBits|=15}}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_inflate.inflateInit2(this.strm,opt.windowBits);if(status!==c.Z_OK){throw new Error(msg[status])}this.header=new gzheader;zlib_inflate.inflateGetHeader(this.strm,this.header)};Inflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;var next_out_utf8,tail,utf8str;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?c.Z_FINISH:c.Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.binstring2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_inflate.inflate(strm,c.Z_NO_FLUSH);if(status!==c.Z_STREAM_END&&status!==c.Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.next_out){if(strm.avail_out===0||status===c.Z_STREAM_END||strm.avail_in===0&&_mode===c.Z_FINISH){if(this.options.to==="string"){next_out_utf8=strings.utf8border(strm.output,strm.next_out);tail=strm.next_out-next_out_utf8;utf8str=strings.buf2string(strm.output,next_out_utf8);strm.next_out=tail;strm.avail_out=chunkSize-tail;if(tail){utils.arraySet(strm.output,strm.output,next_out_utf8,tail,0)}this.onData(utf8str)}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}}while(strm.avail_in>0&&status!==c.Z_STREAM_END);if(status===c.Z_STREAM_END){_mode=c.Z_FINISH}if(_mode===c.Z_FINISH){status=zlib_inflate.inflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===c.Z_OK}return true};Inflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Inflate.prototype.onEnd=function(status){if(status===c.Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function inflate(input,options){var inflator=new Inflate(options);inflator.push(input,true);if(inflator.err){throw inflator.msg}return inflator.result}function inflateRaw(input,options){options=options||{};options.raw=true;return inflate(input,options)}exports.Inflate=Inflate;exports.inflate=inflate;exports.inflateRaw=inflateRaw;exports.ungzip=inflate},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(_dereq_,module,exports){"use strict";var TYPED_OK=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source){continue}if(typeof source!=="object"){throw new TypeError(source+"must be non-object")}for(var p in source){if(source.hasOwnProperty(p)){obj[p]=source[p]}}}return obj};exports.shrinkBuf=function(buf,size){if(buf.length===size){return buf}if(buf.subarray){return buf.subarray(0,size)}buf.length=size;return buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;exports.string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};function buf2binstring(buf,len){if(len<65537){if(buf.subarray&&STR_APPLY_UIA_OK||!buf.subarray&&STR_APPLY_OK){return String.fromCharCode.apply(null,utils.shrinkBuf(buf,len))}}var result="";for(var i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}return buf2binstring(utf16buf,out)};exports.utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max}},{"./common":27}],29:[function(_dereq_,module,exports){"use strict";function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2e3?2e3:len;len-=n;do{s1=s1+buf[pos++]|0;s2=s2+s1|0}while(--n);s1%=65521;s2%=65521}return s1|s2<<16|0}module.exports=adler32},{}],30:[function(_dereq_,module,exports){module.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(_dereq_,module,exports){"use strict";function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i>>8^t[(crc^buf[i])&255]}return crc^-1}module.exports=crc32},{}],32:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var trees=_dereq_("./trees");var adler32=_dereq_("./adler32");var crc32=_dereq_("./crc32");var msg=_dereq_("./messages");var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_BLOCK=5;var Z_OK=0;var Z_STREAM_END=1;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_RLE=3;var Z_FIXED=4;var Z_DEFAULT_STRATEGY=0;var Z_UNKNOWN=2;var Z_DEFLATED=8;var MAX_MEM_LEVEL=9;var MAX_WBITS=15;var DEF_MEM_LEVEL=8;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1;var PRESET_DICT=32;var INIT_STATE=42;var EXTRA_STATE=69;var NAME_STATE=73;var COMMENT_STATE=91;var HCRC_STATE=103;var BUSY_STATE=113;var FINISH_STATE=666;var BS_NEED_MORE=1;var BS_BLOCK_DONE=2;var BS_FINISH_STARTED=3;var BS_FINISH_DONE=4;var OS_CODE=3;function err(strm,errorCode){strm.msg=msg[errorCode];return errorCode}function rank(f){return(f<<1)-(f>4?9:0)}function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}function flush_pending(strm){var s=strm.state;var len=s.pending;if(len>strm.avail_out){len=strm.avail_out}if(len===0){return}utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out);strm.next_out+=len;s.pending_out+=len;strm.total_out+=len;strm.avail_out-=len;s.pending-=len;if(s.pending===0){s.pending_out=0}}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last);s.block_start=s.strstart;flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255;s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size){len=size}if(len===0){return 0}strm.avail_in-=len;utils.arraySet(buf,strm.input,strm.next_in,len,start);if(strm.state.wrap===1){strm.adler=adler32(strm.adler,buf,len,start)}else if(strm.state.wrap===2){strm.adler=crc32(strm.adler,buf,len,start)}strm.next_in+=len;strm.total_in+=len;return len}function longest_match(s,cur_match){var chain_length=s.max_chain_length;var scan=s.strstart;var match;var len;var best_len=s.prev_length;var nice_match=s.nice_match;var limit=s.strstart>s.w_size-MIN_LOOKAHEAD?s.strstart-(s.w_size-MIN_LOOKAHEAD):0;var _win=s.window;var wmask=s.w_mask;var prev=s.prev;var strend=s.strstart+MAX_MATCH;var scan_end1=_win[scan+best_len-1];var scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match){chain_length>>=2}if(nice_match>s.lookahead){nice_match=s.lookahead}do{match=cur_match;if(_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1]){continue}scan+=2;match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){s.match_start=cur_match;best_len=len;if(len>=nice_match){break}scan_end1=_win[scan+best_len-1];scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead){return best_len}return s.lookahead}function fill_window(s){var _w_size=s.w_size;var p,n,m,more,str;do{more=s.window_size-s.lookahead-s.strstart;if(s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0);s.match_start-=_w_size;s.strstart-=_w_size;s.block_start-=_w_size;n=s.hash_size;p=n;do{m=s.head[--p];s.head[p]=m>=_w_size?m-_w_size:0}while(--n);n=_w_size;p=n;do{m=s.prev[--p];s.prev[p]=m>=_w_size?m-_w_size:0}while(--n);more+=_w_size}if(s.strm.avail_in===0){break}n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more);s.lookahead+=n;if(s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert;s.ins_h=s.window[str];s.ins_h=(s.ins_h<s.pending_buf_size-5){max_block_size=s.pending_buf_size-5}for(;;){if(s.lookahead<=1){fill_window(s);if(s.lookahead===0&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.strstart+=s.lookahead;s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){s.lookahead=s.strstart-max_start;s.strstart=max_start;flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.strstart>s.block_start){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head;var bflush;for(;;){if(s.lookahead=MIN_MATCH){s.ins_h=(s.ins_h<=MIN_MATCH){bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;if(s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do{s.strstart++;s.ins_h=(s.ins_h<=MIN_MATCH){s.ins_h=(s.ins_h<4096)){s.match_length=MIN_MATCH-1}}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH;bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH);s.lookahead-=s.prev_length-1;s.prev_length-=2;do{if(++s.strstart<=max_insert){s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){scan=s.strstart-1;prev=_win[scan];if(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead){s.match_length=s.lookahead}}}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;s.strstart+=s.match_length;s.match_length=0}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_huff(s,flush){ var bflush;for(;;){if(s.lookahead===0){fill_window(s);if(s.lookahead===0){if(flush===Z_NO_FLUSH){return BS_NEED_MORE}break}}s.match_length=0;bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}var Config=function(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length;this.max_lazy=max_lazy;this.nice_length=nice_length;this.max_chain=max_chain;this.func=func};var configuration_table;configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size;zero(s.head);s.max_lazy_match=configuration_table[s.level].max_lazy;s.good_match=configuration_table[s.level].good_length;s.nice_match=configuration_table[s.level].nice_length;s.max_chain_length=configuration_table[s.level].max_chain;s.strstart=0;s.block_start=0;s.lookahead=0;s.insert=0;s.match_length=s.prev_length=MIN_MATCH-1;s.match_available=0;s.ins_h=0}function DeflateState(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=Z_DEFLATED;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2);this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2);this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new utils.Buf16(MAX_BITS+1);this.heap=new utils.Buf16(2*L_CODES+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new utils.Buf16(2*L_CODES+1);zero(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state){return err(strm,Z_STREAM_ERROR)}strm.total_in=strm.total_out=0;strm.data_type=Z_UNKNOWN;s=strm.state;s.pending=0;s.pending_out=0;if(s.wrap<0){s.wrap=-s.wrap}s.status=s.wrap?INIT_STATE:BUSY_STATE;strm.adler=s.wrap===2?0:1;s.last_flush=Z_NO_FLUSH;trees._tr_init(s);return Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK){lm_init(strm.state)}return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state){return Z_STREAM_ERROR}if(strm.state.wrap!==2){return Z_STREAM_ERROR}strm.state.gzhead=head;return Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm){return Z_STREAM_ERROR}var wrap=1;if(level===Z_DEFAULT_COMPRESSION){level=6}if(windowBits<0){wrap=0;windowBits=-windowBits}else if(windowBits>15){wrap=2;windowBits-=16}if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED){return err(strm,Z_STREAM_ERROR)}if(windowBits===8){windowBits=9}var s=new DeflateState;strm.state=s;s.strm=strm;s.wrap=wrap;s.gzhead=null;s.w_bits=windowBits;s.w_size=1<>1;s.l_buf=(1+2)*s.lit_bufsize;s.level=level;s.strategy=strategy;s.method=method;return deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s;var beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0){return strm?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR}s=strm.state;if(!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH){return err(strm,strm.avail_out===0?Z_BUF_ERROR:Z_STREAM_ERROR)}s.strm=strm;old_flush=s.last_flush;s.last_flush=flush;if(s.status===INIT_STATE){if(s.wrap===2){strm.adler=0;put_byte(s,31);put_byte(s,139);put_byte(s,8);if(!s.gzhead){put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,OS_CODE);s.status=BUSY_STATE}else{put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(!s.gzhead.extra?0:4)+(!s.gzhead.name?0:8)+(!s.gzhead.comment?0:16));put_byte(s,s.gzhead.time&255);put_byte(s,s.gzhead.time>>8&255);put_byte(s,s.gzhead.time>>16&255);put_byte(s,s.gzhead.time>>24&255);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,s.gzhead.os&255);if(s.gzhead.extra&&s.gzhead.extra.length){put_byte(s,s.gzhead.extra.length&255);put_byte(s,s.gzhead.extra.length>>8&255)}if(s.gzhead.hcrc){strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0)}s.gzindex=0;s.status=EXTRA_STATE}}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8;var level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2){level_flags=0}else if(s.level<6){level_flags=1}else if(s.level===6){level_flags=2}else{level_flags=3}header|=level_flags<<6;if(s.strstart!==0){header|=PRESET_DICT}header+=31-header%31;s.status=BUSY_STATE;putShortMSB(s,header);if(s.strstart!==0){putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}strm.adler=1}}if(s.status===EXTRA_STATE){if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){break}}put_byte(s,s.gzhead.extra[s.gzindex]&255);s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(s.gzindex===s.gzhead.extra.length){s.gzindex=0;s.status=NAME_STATE}}else{s.status=NAME_STATE}}if(s.status===NAME_STATE){if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.gzindex=0;s.status=COMMENT_STATE}}else{s.status=COMMENT_STATE}}if(s.status===COMMENT_STATE){if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.status=HCRC_STATE}}else{s.status=HCRC_STATE}}if(s.status===HCRC_STATE){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size){flush_pending(strm)}if(s.pending+2<=s.pending_buf_size){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);strm.adler=0;s.status=BUSY_STATE}}else{s.status=BUSY_STATE}}if(s.pending!==0){flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH){return err(strm,Z_BUF_ERROR)}if(s.status===FINISH_STATE&&strm.avail_in!==0){return err(strm,Z_BUF_ERROR)}if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY?deflate_huff(s,flush):s.strategy===Z_RLE?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE){s.status=FINISH_STATE}if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0){s.last_flush=-1}return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH){trees._tr_align(s)}else if(flush!==Z_BLOCK){trees._tr_stored_block(s,0,0,false);if(flush===Z_FULL_FLUSH){zero(s.head);if(s.lookahead===0){s.strstart=0;s.block_start=0;s.insert=0}}}flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}}if(flush!==Z_FINISH){return Z_OK}if(s.wrap<=0){return Z_STREAM_END}if(s.wrap===2){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);put_byte(s,strm.adler>>16&255);put_byte(s,strm.adler>>24&255);put_byte(s,strm.total_in&255);put_byte(s,strm.total_in>>8&255);put_byte(s,strm.total_in>>16&255);put_byte(s,strm.total_in>>24&255)}else{putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}flush_pending(strm);if(s.wrap>0){s.wrap=-s.wrap}return s.pending!==0?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state){return Z_STREAM_ERROR}status=strm.state.status;if(status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE){return err(strm,Z_STREAM_ERROR)}strm.state=null;return status===BUSY_STATE?err(strm,Z_DATA_ERROR):Z_OK}exports.deflateInit=deflateInit;exports.deflateInit2=deflateInit2;exports.deflateReset=deflateReset;exports.deflateResetKeep=deflateResetKeep;exports.deflateSetHeader=deflateSetHeader;exports.deflate=deflate;exports.deflateEnd=deflateEnd;exports.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(_dereq_,module,exports){"use strict";function GZheader(){this.text=0;this.time=0;this.xflags=0;this.os=0;this.extra=null;this.extra_len=0;this.name="";this.comment="";this.hcrc=0;this.done=false}module.exports=GZheader},{}],34:[function(_dereq_,module,exports){"use strict";var BAD=30;var TYPE=12;module.exports=function inflate_fast(strm,start){var state;var _in;var last;var _out;var beg;var end;var dmax;var wsize;var whave;var wnext;var window;var hold;var bits;var lcode;var dcode;var lmask;var dmask;var here;var op;var len;var dist;var from;var from_source;var input,output;state=strm.state;_in=strm.next_in;input=strm.input;last=_in+(strm.avail_in-5);_out=strm.next_out;output=strm.output;beg=_out-(start-strm.avail_out);end=_out+(strm.avail_out-257);dmax=state.dmax;wsize=state.wsize;whave=state.whave;wnext=state.wnext;window=state.window;hold=state.hold;bits=state.bits;lcode=state.lencode;dcode=state.distcode;lmask=(1<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op===0){output[_out++]=here&65535}else if(op&16){len=here&65535;op&=15;if(op){if(bits>>=op;bits-=op}if(bits<15){hold+=input[_in++]<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op&16){dist=here&65535;op&=15;if(bitsdmax){strm.msg="invalid distance too far back";state.mode=BAD;break top}hold>>>=op;bits-=op;op=_out-beg;if(dist>op){op=dist-op;if(op>whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break top}}from=0;from_source=window;if(wnext===0){from+=wsize-op;if(op2){output[_out++]=from_source[from++];output[_out++]=from_source[from++];output[_out++]=from_source[from++];len-=3}if(len){output[_out++]=from_source[from++];if(len>1){output[_out++]=from_source[from++]}}}else{from=_out-dist;do{output[_out++]=output[from++];output[_out++]=output[from++];output[_out++]=output[from++];len-=3}while(len>2);if(len){output[_out++]=output[from++];if(len>1){output[_out++]=output[from++]}}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3;_in-=len;bits-=len<<3;hold&=(1<>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new utils.Buf16(320);this.work=new utils.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;strm.total_in=strm.total_out=state.total=0;strm.msg="";if(state.wrap){strm.adler=state.wrap&1}state.mode=HEAD;state.last=0;state.havedict=0;state.dmax=32768;state.head=null;state.hold=0;state.bits=0;state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS);state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS);state.sane=1;state.back=-1;return Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;state.wsize=0;state.whave=0;state.wnext=0;return inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap;var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if(windowBits<0){wrap=0;windowBits=-windowBits}else{wrap=(windowBits>>4)+1;if(windowBits<48){windowBits&=15}}if(windowBits&&(windowBits<8||windowBits>15)){return Z_STREAM_ERROR}if(state.window!==null&&state.wbits!==windowBits){state.window=null}state.wrap=wrap;state.wbits=windowBits;return inflateReset(strm)}function inflateInit2(strm,windowBits){var ret;var state;if(!strm){return Z_STREAM_ERROR}state=new InflateState;strm.state=state;state.window=null;ret=inflateReset2(strm,windowBits);if(ret!==Z_OK){strm.state=null}return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=true;var lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512);distfix=new utils.Buf32(32);sym=0;while(sym<144){state.lens[sym++]=8}while(sym<256){state.lens[sym++]=9}while(sym<280){state.lens[sym++]=7}while(sym<288){state.lens[sym++]=8}inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9});sym=0;while(sym<32){state.lens[sym++]=5}inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5});virgin=false}state.lencode=lenfix;state.lenbits=9;state.distcode=distfix;state.distbits=5}function updatewindow(strm,src,end,copy){var dist;var state=strm.state;if(state.window===null){state.wsize=1<=state.wsize){utils.arraySet(state.window,src,end-state.wsize,state.wsize,0);state.wnext=0;state.whave=state.wsize}else{dist=state.wsize-state.wnext;if(dist>copy){dist=copy}utils.arraySet(state.window,src,end-copy,dist,state.wnext);copy-=dist;if(copy){utils.arraySet(state.window,src,end-copy,copy,0);state.wnext=copy;state.whave=state.wsize}else{state.wnext+=dist;if(state.wnext===state.wsize){state.wnext=0}if(state.whave>>8&255;state.check=crc32(state.check,hbuf,2,0);hold=0;bits=0;state.mode=FLAGS;break}state.flags=0;if(state.head){state.head.done=false}if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg="incorrect header check";state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}hold>>>=4;bits-=4;len=(hold&15)+8;if(state.wbits===0){state.wbits=len}else if(len>state.wbits){strm.msg="invalid window size";state.mode=BAD;break}state.dmax=1<>8&1}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=TIME;case TIME:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;hbuf[2]=hold>>>16&255;hbuf[3]=hold>>>24&255;state.check=crc32(state.check,hbuf,4,0)}hold=0;bits=0;state.mode=OS;case OS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>8}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0}else if(state.head){state.head.extra=null}state.mode=EXTRA;case EXTRA:if(state.flags&1024){copy=state.length;if(copy>have){copy=have}if(copy){if(state.head){len=state.head.extra_len-state.length;if(!state.head.extra){state.head.extra=new Array(state.head.extra_len)}utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;state.length-=copy}if(state.length){break inf_leave}}state.length=0;state.mode=NAME;case NAME:if(state.flags&2048){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.name+=String.fromCharCode(len)}}while(len&©>9&1;state.head.done=true}strm.adler=state.check=0;state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=bits&7;bits-=bits&7;state.mode=CHECK;break}while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=1;bits-=1;switch(hold&3){case 0:state.mode=STORED;break;case 1:fixedtables(state);state.mode=LEN_;if(flush===Z_TREES){hold>>>=2;bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg="invalid block type";state.mode=BAD}hold>>>=2;bits-=2;break;case STORED:hold>>>=bits&7;bits-=bits&7;while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>16^65535)){strm.msg="invalid stored block lengths";state.mode=BAD;break}state.length=hold&65535;hold=0;bits=0;state.mode=COPY_;if(flush===Z_TREES){break inf_leave}case COPY_:state.mode=COPY;case COPY:copy=state.length;if(copy){if(copy>have){copy=have}if(copy>left){copy=left}if(copy===0){break inf_leave}utils.arraySet(output,input,next,copy,put);have-=copy;next+=copy;left-=copy;put+=copy;state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=5;bits-=5;state.ndist=(hold&31)+1;hold>>>=5;bits-=5;state.ncode=(hold&15)+4;hold>>>=4;bits-=4;if(state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols";state.mode=BAD;break}state.have=0;state.mode=LENLENS;case LENLENS:while(state.have>>=3;bits-=3}while(state.have<19){state.lens[order[state.have++]]=0}state.lencode=state.lendyn;state.lenbits=7;opts={bits:state.lenbits};ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid code lengths set";state.mode=BAD;break}state.have=0;state.mode=CODELENS;case CODELENS:while(state.have>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=here_bits;bits-=here_bits;state.lens[state.have++]=here_val}else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits;bits-=here_bits;if(state.have===0){strm.msg="invalid bit length repeat";state.mode=BAD;break}len=state.lens[state.have-1];copy=3+(hold&3);hold>>>=2;bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits;bits-=here_bits;len=0;copy=3+(hold&7);hold>>>=3;bits-=3}else{n=here_bits+7;while(bits>>=here_bits;bits-=here_bits;len=0;copy=11+(hold&127);hold>>>=7;bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat";state.mode=BAD;break}while(copy--){state.lens[state.have++]=len}}}if(state.mode===BAD){break}if(state.lens[256]===0){strm.msg="invalid code -- missing end-of-block";state.mode=BAD;break}state.lenbits=9;opts={bits:state.lenbits};ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid literal/lengths set";state.mode=BAD;break}state.distbits=6;state.distcode=state.distdyn;opts={bits:state.distbits};ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts);state.distbits=opts.bits;if(ret){strm.msg="invalid distances set";state.mode=BAD;break}state.mode=LEN_;if(flush===Z_TREES){break inf_leave}case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;inflate_fast(strm,_out);put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;if(state.mode===TYPE){state.back=-1}break}state.back=0;for(;;){here=state.lencode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;state.length=here_val;if(here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1;state.mode=TYPE;break}if(here_op&64){strm.msg="invalid literal/length code";state.mode=BAD;break}state.extra=here_op&15;state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}state.was=state.length;state.mode=DIST;case DIST:for(;;){here=state.distcode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;if(here_op&64){strm.msg="invalid distance code";state.mode=BAD;break}state.offset=here_val;state.extra=here_op&15;state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back";state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0){break inf_leave}copy=_out-left;if(state.offset>copy){copy=state.offset-copy;if(copy>state.whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break}}if(copy>state.wnext){copy-=state.wnext;from=state.wsize-copy}else{from=state.wnext-copy}if(copy>state.length){copy=state.length}from_source=state.window}else{from_source=output;from=put-state.offset;copy=state.length}if(copy>left){copy=left}left-=copy;state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);if(state.length===0){state.mode=LEN}break;case LIT:if(left===0){break inf_leave}output[put++]=state.length;left--;state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0){break inf_leave}have--;hold|=input[next++]<=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}]},{},[9])(9)});var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.2";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,"."); -}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)))}return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+g;if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return readIEEE754(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(s,e){return this.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255; -break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef===undefined?cell.iStyleRef:cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};data.match(tagregex).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name;var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if(size&3>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj;for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw"Length mismatch 2: "+blob.l+" !== "+Offset1;var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff!==5&&opts.biff!==2)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l")!==-1){var cols=data.match(colregex);parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);if(data.indexOf("")!==-1)parse_ws_xml_hlinks(s,data.match(hlinkregex),rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW; -}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/([\S\s]*?)<\/is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!==null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!==null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!==null)p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,R){if(end)return;switch(R.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0))s["!ref"]=encode_range(ref);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";data.match(tagregex).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={},dtag,didx;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor": -case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw"Unsupported Unicode Extension"}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8);else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException":break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=opts.biff===2?["Sheet1"]:Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.find){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.find)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop -},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight -},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},22:{n:"ExternCount",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function write_ods(wb,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.write_ods)throw new Error("Unsupported ODS");return ODS.write_ods(wb,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipdata(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels)path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";if(!wb.Props)wb.Props={};wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+o.type)}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(opts.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="xls";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +exports.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var MAXBITS=15;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var CODES=0;var LENS=1;var DISTS=2;var lbase=[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,0,0];var lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var dbase=[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,0,0];var dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits;var len=0;var sym=0;var min=0,max=0;var root=0;var curr=0;var drop=0;var left=0;var used=0;var huff=0;var incr;var fill;var low;var mask;var next;var base=null;var base_index=0;var end;var count=new utils.Buf16(MAXBITS+1);var offs=new utils.Buf16(MAXBITS+1);var extra=null;var extra_index=0;var here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++){count[len]=0}for(sym=0;sym=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}]},{},[9])(9)});var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.3";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,"."); +}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8; +return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){ +FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){var xWn=blob.read_shift(2),yWn=blob.read_shift(2),dxWn=blob.read_shift(2),dyWn=blob.read_shift(2);var flags=blob.read_shift(2),iTabCur=blob.read_shift(2),iTabFirst=blob.read_shift(2);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrec=parse_RkRec(blob);return{r:rw,c:col,ixfe:rkrec[0],rknum:rkrec[1]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16); +return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":if(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2); +var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var Ftab={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,65:3,66:3,67:1,68:1,69:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,105:1,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,189:3,190:1,195:3,196:3,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,65535:0};var XLSXFutureFunctions={"_xlfn.ACOT":"ACOT","_xlfn.ACOTH":"ACOTH","_xlfn.AGGREGATE":"AGGREGATE","_xlfn.ARABIC":"ARABIC","_xlfn.AVERAGEIF":"AVERAGEIF","_xlfn.AVERAGEIFS":"AVERAGEIFS","_xlfn.BASE":"BASE","_xlfn.BETA.DIST":"BETA.DIST","_xlfn.BETA.INV":"BETA.INV","_xlfn.BINOM.DIST":"BINOM.DIST","_xlfn.BINOM.DIST.RANGE":"BINOM.DIST.RANGE","_xlfn.BINOM.INV":"BINOM.INV","_xlfn.BITAND":"BITAND","_xlfn.BITLSHIFT":"BITLSHIFT","_xlfn.BITOR":"BITOR","_xlfn.BITRSHIFT":"BITRSHIFT","_xlfn.BITXOR":"BITXOR","_xlfn.CEILING.MATH":"CEILING.MATH","_xlfn.CEILING.PRECISE":"CEILING.PRECISE","_xlfn.CHISQ.DIST":"CHISQ.DIST","_xlfn.CHISQ.DIST.RT":"CHISQ.DIST.RT","_xlfn.CHISQ.INV":"CHISQ.INV","_xlfn.CHISQ.INV.RT":"CHISQ.INV.RT","_xlfn.CHISQ.TEST":"CHISQ.TEST","_xlfn.COMBINA":"COMBINA","_xlfn.CONFIDENCE.NORM":"CONFIDENCE.NORM","_xlfn.CONFIDENCE.T":"CONFIDENCE.T","_xlfn.COT":"COT","_xlfn.COTH":"COTH","_xlfn.COUNTIFS":"COUNTIFS","_xlfn.COVARIANCE.P":"COVARIANCE.P","_xlfn.COVARIANCE.S":"COVARIANCE.S","_xlfn.CSC":"CSC","_xlfn.CSCH":"CSCH","_xlfn.DAYS":"DAYS","_xlfn.DECIMAL":"DECIMAL","_xlfn.ECMA.CEILING":"ECMA.CEILING","_xlfn.ERF.PRECISE":"ERF.PRECISE","_xlfn.ERFC.PRECISE":"ERFC.PRECISE","_xlfn.EXPON.DIST":"EXPON.DIST","_xlfn.F.DIST":"F.DIST","_xlfn.F.DIST.RT":"F.DIST.RT","_xlfn.F.INV":"F.INV","_xlfn.F.INV.RT":"F.INV.RT","_xlfn.F.TEST":"F.TEST","_xlfn.FILTERXML":"FILTERXML","_xlfn.FLOOR.MATH":"FLOOR.MATH","_xlfn.FLOOR.PRECISE":"FLOOR.PRECISE","_xlfn.FORMULATEXT":"FORMULATEXT","_xlfn.GAMMA":"GAMMA","_xlfn.GAMMA.DIST":"GAMMA.DIST","_xlfn.GAMMA.INV":"GAMMA.INV","_xlfn.GAMMALN.PRECISE":"GAMMALN.PRECISE","_xlfn.GAUSS":"GAUSS","_xlfn.HYPGEOM.DIST":"HYPGEOM.DIST","_xlfn.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_xlfn.IMCOSH":"IMCOSH","_xlfn.IMCOT":"IMCOT","_xlfn.IMCSC":"IMCSC","_xlfn.IMCSCH":"IMCSCH","_xlfn.IMSEC":"IMSEC","_xlfn.IMSECH":"IMSECH","_xlfn.IMSINH":"IMSINH","_xlfn.IMTAN":"IMTAN","_xlfn.ISFORMULA":"ISFORMULA","_xlfn.ISO.CEILING":"ISO.CEILING","_xlfn.ISOWEEKNUM":"ISOWEEKNUM","_xlfn.LOGNORM.DIST":"LOGNORM.DIST","_xlfn.LOGNORM.INV":"LOGNORM.INV","_xlfn.MODE.MULT":"MODE.MULT","_xlfn.MODE.SNGL":"MODE.SNGL","_xlfn.MUNIT":"MUNIT","_xlfn.NEGBINOM.DIST":"NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL":"NETWORKDAYS.INTL","_xlfn.NIGBINOM":"NIGBINOM","_xlfn.NORM.DIST":"NORM.DIST","_xlfn.NORM.INV":"NORM.INV","_xlfn.NORM.S.DIST":"NORM.S.DIST","_xlfn.NORM.S.INV":"NORM.S.INV","_xlfn.NUMBERVALUE":"NUMBERVALUE","_xlfn.PDURATION":"PDURATION","_xlfn.PERCENTILE.EXC":"PERCENTILE.EXC","_xlfn.PERCENTILE.INC":"PERCENTILE.INC","_xlfn.PERCENTRANK.EXC":"PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC":"PERCENTRANK.INC","_xlfn.PERMUTATIONA":"PERMUTATIONA","_xlfn.PHI":"PHI","_xlfn.POISSON.DIST":"POISSON.DIST","_xlfn.QUARTILE.EXC":"QUARTILE.EXC","_xlfn.QUARTILE.INC":"QUARTILE.INC","_xlfn.QUERYSTRING":"QUERYSTRING","_xlfn.RANK.AVG":"RANK.AVG","_xlfn.RANK.EQ":"RANK.EQ","_xlfn.RRI":"RRI","_xlfn.SEC":"SEC","_xlfn.SECH":"SECH","_xlfn.SHEET":"SHEET","_xlfn.SHEETS":"SHEETS","_xlfn.SKEW.P":"SKEW.P","_xlfn.STDEV.P":"STDEV.P","_xlfn.STDEV.S":"STDEV.S","_xlfn.SUMIFS":"SUMIFS","_xlfn.T.DIST":"T.DIST","_xlfn.T.DIST.2T":"T.DIST.2T","_xlfn.T.DIST.RT":"T.DIST.RT","_xlfn.T.INV":"T.INV","_xlfn.T.INV.2T":"T.INV.2T","_xlfn.T.TEST":"T.TEST","_xlfn.UNICHAR":"UNICHAR","_xlfn.UNICODE":"UNICODE","_xlfn.VAR.P":"VAR.P","_xlfn.VAR.S":"VAR.S","_xlfn.WEBSERVICE":"WEBSERVICE","_xlfn.WEIBULL.DIST":"WEIBULL.DIST","_xlfn.WORKDAY.INTL":"WORKDAY.INTL","_xlfn.XOR":"XOR","_xlfn.Z.TEST":"Z.TEST"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior); +if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor":case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException":break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion", +f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter", +f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map index 47a8d54..c8400db 100644 --- a/dist/xlsx.core.min.map +++ b/dist/xlsx.core.min.map @@ -1 +1 @@ -{"version":3,"sources":["jszip.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","XLSX","make_xlsx","version","current_codepage","current_cptable","cptable","reset_cp","set_cp","cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","map","c1","c3","e1","e2","e3","e4","b64_decode","has_buf","new_raw_buf","s2a","split","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","M","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","tt","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdata","safegetzipfile","getzipfile","getzipdata","safe","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","readIEEE754","isLE","nl","ml","el","eMax","eBias","NaN","Infinity","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","trim","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","isfile","write_zip_type","oopts","writeFileSync","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.core.min.js"} \ No newline at end of file +{"version":3,"sources":["jszip.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","XLSX","make_xlsx","version","current_codepage","current_cptable","cptable","reset_cp","set_cp","cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","map","c1","c3","e1","e2","e3","e4","b64_decode","has_buf","new_raw_buf","s2a","split","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","M","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","tt","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.core.min.js"} \ No newline at end of file diff --git a/dist/xlsx.full.min.js b/dist/xlsx.full.min.js index e6515d6..d899339 100644 --- a/dist/xlsx.full.min.js +++ b/dist/xlsx.full.min.js @@ -2,18 +2,19 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.JSZip=e()}}(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}output=output+_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+_keyStr.charAt(enc3)+_keyStr.charAt(enc4)}return output};exports.decode=function(input,utf8){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}if(enc4!=64){output=output+String.fromCharCode(chr3)}}return output}},{}],2:[function(_dereq_,module,exports){"use strict";function CompressedObject(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}CompressedObject.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};module.exports=CompressedObject},{}],3:[function(_dereq_,module,exports){"use strict";exports.STORE={magic:"\0\0",compress:function(content){return content},uncompress:function(content){return content},compressInputType:null,uncompressInputType:null};exports.DEFLATE=_dereq_("./flate")},{"./flate":8}],4:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var table=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];module.exports=function crc32(input,crc){if(typeof input==="undefined"||!input.length){return 0}var isArray=utils.getTypeOf(input)!=="string";if(typeof crc=="undefined"){crc=0}var x=0;var y=0;var b=0;crc=crc^-1;for(var i=0,iTop=input.length;i>>8^x}return crc^-1}},{"./utils":21}],5:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");function DataReader(data){this.data=null;this.length=0;this.index=0}DataReader.prototype={checkOffset:function(offset){this.checkIndex(this.index+offset)},checkIndex:function(newIndex){if(this.length=this.index;i--){result=(result<<8)+this.byteAt(i)}this.index+=size;return result},readString:function(size){return utils.transformTo("string",this.readData(size))},readData:function(size){},lastIndexOfSignature:function(sig){},readDate:function(){var dostime=this.readInt(4);return new Date((dostime>>25&127)+1980,(dostime>>21&15)-1,dostime>>16&31,dostime>>11&31,dostime>>5&63,(dostime&31)<<1)}};module.exports=DataReader},{"./utils":21}],6:[function(_dereq_,module,exports){"use strict";exports.base64=false;exports.binary=false;exports.dir=false;exports.createFolders=false;exports.date=null;exports.compression=null;exports.comment=null},{}],7:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");exports.string2binary=function(str){return utils.string2binary(str)};exports.string2Uint8Array=function(str){return utils.transformTo("uint8array",str)};exports.uint8Array2String=function(array){return utils.transformTo("string",array)};exports.string2Blob=function(str){var buffer=utils.transformTo("arraybuffer",str);return utils.arrayBuffer2Blob(buffer)};exports.arrayBuffer2Blob=function(buffer){return utils.arrayBuffer2Blob(buffer)};exports.transformTo=function(outputType,input){return utils.transformTo(outputType,input)};exports.getTypeOf=function(input){return utils.getTypeOf(input)};exports.checkSupport=function(type){return utils.checkSupport(type)};exports.MAX_VALUE_16BITS=utils.MAX_VALUE_16BITS;exports.MAX_VALUE_32BITS=utils.MAX_VALUE_32BITS;exports.pretty=function(str){return utils.pretty(str)};exports.findCompression=function(compressionMethod){return utils.findCompression(compressionMethod)};exports.isRegExp=function(object){return utils.isRegExp(object)}},{"./utils":21}],8:[function(_dereq_,module,exports){"use strict";var USE_TYPEDARRAY=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Uint32Array!=="undefined";var pako=_dereq_("pako");exports.uncompressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.compressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.magic="\b\0";exports.compress=function(input){return pako.deflateRaw(input)};exports.uncompress=function(input){return pako.inflateRaw(input)}},{pako:24}],9:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");function JSZip(data,options){if(!(this instanceof JSZip))return new JSZip(data,options);this.files={};this.comment=null;this.root="";if(data){this.load(data,options)}this.clone=function(){var newObj=new JSZip;for(var i in this){if(typeof this[i]!=="function"){newObj[i]=this[i]}}return newObj}}JSZip.prototype=_dereq_("./object");JSZip.prototype.load=_dereq_("./load");JSZip.support=_dereq_("./support");JSZip.defaults=_dereq_("./defaults");JSZip.utils=_dereq_("./deprecatedPublicUtils");JSZip.base64={encode:function(input){return base64.encode(input)},decode:function(input){return base64.decode(input)}};JSZip.compressions=_dereq_("./compressions");module.exports=JSZip},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");var ZipEntries=_dereq_("./zipEntries");module.exports=function(data,options){var files,zipEntries,i,input;options=options||{};if(options.base64){data=base64.decode(data)}zipEntries=new ZipEntries(data,options);files=zipEntries.files;for(i=0;i>>8}return hex};var extend=function(){var result={},i,attr;for(i=0;i0?path.substring(0,lastSlash):""};var folderAdd=function(name,createFolders){if(name.slice(-1)!="/"){name+="/"}createFolders=typeof createFolders!=="undefined"?createFolders:false;if(!this.files[name]){fileAdd.call(this,name,null,{dir:true,createFolders:createFolders})}return this.files[name]};var generateCompressedObjectFrom=function(file,compression){var result=new CompressedObject,content;if(file._data instanceof CompressedObject){result.uncompressedSize=file._data.uncompressedSize;result.crc32=file._data.crc32;if(result.uncompressedSize===0||file.dir){compression=compressions["STORE"];result.compressedContent="";result.crc32=0}else if(file._data.compressionMethod===compression.magic){result.compressedContent=file._data.getCompressedContent()}else{content=file._data.getContent();result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}}else{content=getBinaryData(file);if(!content||content.length===0||file.dir){compression=compressions["STORE"];content=""}result.uncompressedSize=content.length;result.crc32=crc32(content);result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}result.compressedSize=result.compressedContent.length;result.compressionMethod=compression.magic;return result};var generateZipParts=function(name,file,compressedObject,offset){var data=compressedObject.compressedContent,utfEncodedFileName=utils.transformTo("string",utf8.utf8encode(file.name)),comment=file.comment||"",utfEncodedComment=utils.transformTo("string",utf8.utf8encode(comment)),useUTF8ForFileName=utfEncodedFileName.length!==file.name.length,useUTF8ForComment=utfEncodedComment.length!==comment.length,o=file.options,dosTime,dosDate,extraFields="",unicodePathExtraField="",unicodeCommentExtraField="",dir,date;if(file._initialMetadata.dir!==file.dir){dir=file.dir}else{dir=o.dir}if(file._initialMetadata.date!==file.date){date=file.date}else{date=o.date}dosTime=date.getHours();dosTime=dosTime<<6;dosTime=dosTime|date.getMinutes();dosTime=dosTime<<5;dosTime=dosTime|date.getSeconds()/2;dosDate=date.getFullYear()-1980;dosDate=dosDate<<4;dosDate=dosDate|date.getMonth()+1;dosDate=dosDate<<5;dosDate=dosDate|date.getDate();if(useUTF8ForFileName){unicodePathExtraField=decToHex(1,1)+decToHex(crc32(utfEncodedFileName),4)+utfEncodedFileName;extraFields+="up"+decToHex(unicodePathExtraField.length,2)+unicodePathExtraField}if(useUTF8ForComment){unicodeCommentExtraField=decToHex(1,1)+decToHex(this.crc32(utfEncodedComment),4)+utfEncodedComment;extraFields+="uc"+decToHex(unicodeCommentExtraField.length,2)+unicodeCommentExtraField}var header="";header+="\n\0";header+=useUTF8ForFileName||useUTF8ForComment?"\0\b":"\0\0";header+=compressedObject.compressionMethod;header+=decToHex(dosTime,2);header+=decToHex(dosDate,2);header+=decToHex(compressedObject.crc32,4);header+=decToHex(compressedObject.compressedSize,4);header+=decToHex(compressedObject.uncompressedSize,4);header+=decToHex(utfEncodedFileName.length,2);header+=decToHex(extraFields.length,2);var fileRecord=signature.LOCAL_FILE_HEADER+header+utfEncodedFileName+extraFields;var dirRecord=signature.CENTRAL_FILE_HEADER+"\0"+header+decToHex(utfEncodedComment.length,2)+"\0\0"+"\0\0"+(dir===true?"\0\0\0":"\0\0\0\0")+decToHex(offset,4)+utfEncodedFileName+extraFields+utfEncodedComment;return{fileRecord:fileRecord,dirRecord:dirRecord,compressedObject:compressedObject}};var out={load:function(stream,options){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(search){var result=[],filename,relativePath,file,fileClone;for(filename in this.files){if(!this.files.hasOwnProperty(filename)){continue}file=this.files[filename];fileClone=new ZipObject(file.name,file._data,extend(file.options));relativePath=filename.slice(this.root.length,filename.length);if(filename.slice(0,this.root.length)===this.root&&search(relativePath,fileClone)){result.push(fileClone)}}return result},file:function(name,data,o){if(arguments.length===1){if(utils.isRegExp(name)){var regexp=name;return this.filter(function(relativePath,file){return!file.dir&®exp.test(relativePath)})}else{return this.filter(function(relativePath,file){return!file.dir&&relativePath===name})[0]||null}}else{name=this.root+name;fileAdd.call(this,name,data,o)}return this},folder:function(arg){if(!arg){return this}if(utils.isRegExp(arg)){return this.filter(function(relativePath,file){return file.dir&&arg.test(relativePath)})}var name=this.root+arg;var newFolder=folderAdd.call(this,name);var ret=this.clone();ret.root=newFolder.name;return ret},remove:function(name){name=this.root+name;var file=this.files[name];if(!file){if(name.slice(-1)!="/"){name+="/"}file=this.files[name]}if(file&&!file.dir){delete this.files[name]}else{var kids=this.filter(function(relativePath,file){return file.name.slice(0,name.length)===name});for(var i=0;i=0;--i){if(this.data[i]===sig0&&this.data[i+1]===sig1&&this.data[i+2]===sig2&&this.data[i+3]===sig3){return i}}return-1};Uint8ArrayReader.prototype.readData=function(size){this.checkOffset(size);if(size===0){return new Uint8Array(0)}var result=this.data.subarray(this.index,this.index+size);this.index+=size;return result};module.exports=Uint8ArrayReader},{"./dataReader":5}],19:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var Uint8ArrayWriter=function(length){this.data=new Uint8Array(length);this.index=0};Uint8ArrayWriter.prototype={append:function(input){if(input.length!==0){input=utils.transformTo("uint8array",input);this.data.set(input,this.index);this.index+=input.length}},finalize:function(){return this.data}};module.exports=Uint8ArrayWriter},{"./utils":21}],20:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var support=_dereq_("./support");var nodeBuffer=_dereq_("./nodeBuffer");var _utf8len=new Array(256);for(var i=0;i<256;i++){_utf8len[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;var string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};var utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max};var buf2string=function(buf){var str,i,out,c,c_len;var len=buf.length;var utf16buf=new Array(len*2);for(out=0,i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}if(utf16buf.length!==out){if(utf16buf.subarray){utf16buf=utf16buf.subarray(0,out)}else{utf16buf.length=out}}return utils.applyFromCharCode(utf16buf)};exports.utf8encode=function utf8encode(str){if(support.nodebuffer){return nodeBuffer(str,"utf-8")}return string2buf(str)};exports.utf8decode=function utf8decode(buf){if(support.nodebuffer){return utils.transformTo("nodebuffer",buf).toString("utf-8")}buf=utils.transformTo(support.uint8array?"uint8array":"array",buf);var result=[],k=0,len=buf.length,chunk=65536;while(k1){try{if(type==="array"||type==="nodebuffer"){result.push(String.fromCharCode.apply(null,array.slice(k,Math.min(k+chunk,len))))}else{result.push(String.fromCharCode.apply(null,array.subarray(k,Math.min(k+chunk,len))))}k+=chunk}catch(e){chunk=Math.floor(chunk/2)}}return result.join("")}exports.applyFromCharCode=arrayLikeToString;function arrayLikeToArrayLike(arrayFrom,arrayTo){for(var i=0;i1){throw new Error("Multi-volumes zip are not supported")}},readLocalFiles:function(){var i,file;for(i=0;i0){opt.windowBits=-opt.windowBits}else if(opt.gzip&&opt.windowBits>0&&opt.windowBits<16){opt.windowBits+=16}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_deflate.deflateInit2(this.strm,opt.level,opt.method,opt.windowBits,opt.memLevel,opt.strategy);if(status!==Z_OK){throw new Error(msg[status])}if(opt.header){zlib_deflate.deflateSetHeader(this.strm,opt.header)}};Deflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?Z_FINISH:Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.string2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_deflate.deflate(strm,_mode);if(status!==Z_STREAM_END&&status!==Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.avail_out===0||strm.avail_in===0&&_mode===Z_FINISH){if(this.options.to==="string"){this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output,strm.next_out)))}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}while((strm.avail_in>0||strm.avail_out===0)&&status!==Z_STREAM_END);if(_mode===Z_FINISH){status=zlib_deflate.deflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===Z_OK}return true};Deflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Deflate.prototype.onEnd=function(status){if(status===Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function deflate(input,options){var deflator=new Deflate(options);deflator.push(input,true);if(deflator.err){throw deflator.msg}return deflator.result}function deflateRaw(input,options){options=options||{};options.raw=true;return deflate(input,options)}function gzip(input,options){options=options||{};options.gzip=true;return deflate(input,options)}exports.Deflate=Deflate;exports.deflate=deflate;exports.deflateRaw=deflateRaw;exports.gzip=gzip},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(_dereq_,module,exports){"use strict";var zlib_inflate=_dereq_("./zlib/inflate.js");var utils=_dereq_("./utils/common");var strings=_dereq_("./utils/strings");var c=_dereq_("./zlib/constants");var msg=_dereq_("./zlib/messages");var zstream=_dereq_("./zlib/zstream");var gzheader=_dereq_("./zlib/gzheader");var Inflate=function(options){this.options=utils.assign({chunkSize:16384,windowBits:0,to:""},options||{});var opt=this.options;if(opt.raw&&opt.windowBits>=0&&opt.windowBits<16){opt.windowBits=-opt.windowBits;if(opt.windowBits===0){opt.windowBits=-15}}if(opt.windowBits>=0&&opt.windowBits<16&&!(options&&options.windowBits)){opt.windowBits+=32}if(opt.windowBits>15&&opt.windowBits<48){if((opt.windowBits&15)===0){opt.windowBits|=15}}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_inflate.inflateInit2(this.strm,opt.windowBits);if(status!==c.Z_OK){throw new Error(msg[status])}this.header=new gzheader;zlib_inflate.inflateGetHeader(this.strm,this.header)};Inflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;var next_out_utf8,tail,utf8str;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?c.Z_FINISH:c.Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.binstring2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_inflate.inflate(strm,c.Z_NO_FLUSH);if(status!==c.Z_STREAM_END&&status!==c.Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.next_out){if(strm.avail_out===0||status===c.Z_STREAM_END||strm.avail_in===0&&_mode===c.Z_FINISH){if(this.options.to==="string"){next_out_utf8=strings.utf8border(strm.output,strm.next_out);tail=strm.next_out-next_out_utf8;utf8str=strings.buf2string(strm.output,next_out_utf8);strm.next_out=tail;strm.avail_out=chunkSize-tail;if(tail){utils.arraySet(strm.output,strm.output,next_out_utf8,tail,0)}this.onData(utf8str)}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}}while(strm.avail_in>0&&status!==c.Z_STREAM_END);if(status===c.Z_STREAM_END){_mode=c.Z_FINISH}if(_mode===c.Z_FINISH){status=zlib_inflate.inflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===c.Z_OK}return true};Inflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Inflate.prototype.onEnd=function(status){if(status===c.Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function inflate(input,options){var inflator=new Inflate(options);inflator.push(input,true);if(inflator.err){throw inflator.msg}return inflator.result}function inflateRaw(input,options){options=options||{};options.raw=true;return inflate(input,options)}exports.Inflate=Inflate;exports.inflate=inflate;exports.inflateRaw=inflateRaw;exports.ungzip=inflate},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(_dereq_,module,exports){"use strict";var TYPED_OK=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source){continue}if(typeof source!=="object"){throw new TypeError(source+"must be non-object")}for(var p in source){if(source.hasOwnProperty(p)){obj[p]=source[p]}}}return obj};exports.shrinkBuf=function(buf,size){if(buf.length===size){return buf}if(buf.subarray){return buf.subarray(0,size)}buf.length=size;return buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;exports.string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};function buf2binstring(buf,len){if(len<65537){if(buf.subarray&&STR_APPLY_UIA_OK||!buf.subarray&&STR_APPLY_OK){return String.fromCharCode.apply(null,utils.shrinkBuf(buf,len))}}var result="";for(var i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}return buf2binstring(utf16buf,out)};exports.utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max}},{"./common":27}],29:[function(_dereq_,module,exports){"use strict";function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2e3?2e3:len;len-=n;do{s1=s1+buf[pos++]|0;s2=s2+s1|0}while(--n);s1%=65521;s2%=65521}return s1|s2<<16|0}module.exports=adler32},{}],30:[function(_dereq_,module,exports){module.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(_dereq_,module,exports){"use strict";function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i>>8^t[(crc^buf[i])&255]}return crc^-1}module.exports=crc32},{}],32:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var trees=_dereq_("./trees");var adler32=_dereq_("./adler32");var crc32=_dereq_("./crc32");var msg=_dereq_("./messages");var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_BLOCK=5;var Z_OK=0;var Z_STREAM_END=1;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_RLE=3;var Z_FIXED=4;var Z_DEFAULT_STRATEGY=0;var Z_UNKNOWN=2;var Z_DEFLATED=8;var MAX_MEM_LEVEL=9;var MAX_WBITS=15;var DEF_MEM_LEVEL=8;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1;var PRESET_DICT=32;var INIT_STATE=42;var EXTRA_STATE=69;var NAME_STATE=73;var COMMENT_STATE=91;var HCRC_STATE=103;var BUSY_STATE=113;var FINISH_STATE=666;var BS_NEED_MORE=1;var BS_BLOCK_DONE=2;var BS_FINISH_STARTED=3;var BS_FINISH_DONE=4;var OS_CODE=3;function err(strm,errorCode){strm.msg=msg[errorCode];return errorCode}function rank(f){return(f<<1)-(f>4?9:0)}function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}function flush_pending(strm){var s=strm.state;var len=s.pending;if(len>strm.avail_out){len=strm.avail_out}if(len===0){return}utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out);strm.next_out+=len;s.pending_out+=len;strm.total_out+=len;strm.avail_out-=len;s.pending-=len;if(s.pending===0){s.pending_out=0}}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last);s.block_start=s.strstart;flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255;s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size){len=size}if(len===0){return 0}strm.avail_in-=len;utils.arraySet(buf,strm.input,strm.next_in,len,start);if(strm.state.wrap===1){strm.adler=adler32(strm.adler,buf,len,start)}else if(strm.state.wrap===2){strm.adler=crc32(strm.adler,buf,len,start)}strm.next_in+=len;strm.total_in+=len;return len}function longest_match(s,cur_match){var chain_length=s.max_chain_length;var scan=s.strstart;var match;var len;var best_len=s.prev_length;var nice_match=s.nice_match;var limit=s.strstart>s.w_size-MIN_LOOKAHEAD?s.strstart-(s.w_size-MIN_LOOKAHEAD):0;var _win=s.window;var wmask=s.w_mask;var prev=s.prev;var strend=s.strstart+MAX_MATCH;var scan_end1=_win[scan+best_len-1];var scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match){chain_length>>=2}if(nice_match>s.lookahead){nice_match=s.lookahead}do{match=cur_match;if(_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1]){continue}scan+=2;match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){s.match_start=cur_match;best_len=len;if(len>=nice_match){break}scan_end1=_win[scan+best_len-1];scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead){return best_len}return s.lookahead}function fill_window(s){var _w_size=s.w_size;var p,n,m,more,str;do{more=s.window_size-s.lookahead-s.strstart;if(s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0);s.match_start-=_w_size;s.strstart-=_w_size;s.block_start-=_w_size;n=s.hash_size;p=n;do{m=s.head[--p];s.head[p]=m>=_w_size?m-_w_size:0}while(--n);n=_w_size;p=n;do{m=s.prev[--p];s.prev[p]=m>=_w_size?m-_w_size:0}while(--n);more+=_w_size}if(s.strm.avail_in===0){break}n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more);s.lookahead+=n;if(s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert;s.ins_h=s.window[str];s.ins_h=(s.ins_h<s.pending_buf_size-5){max_block_size=s.pending_buf_size-5}for(;;){if(s.lookahead<=1){fill_window(s);if(s.lookahead===0&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.strstart+=s.lookahead;s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){s.lookahead=s.strstart-max_start;s.strstart=max_start;flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.strstart>s.block_start){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head;var bflush;for(;;){if(s.lookahead=MIN_MATCH){s.ins_h=(s.ins_h<=MIN_MATCH){bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;if(s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do{s.strstart++;s.ins_h=(s.ins_h<=MIN_MATCH){s.ins_h=(s.ins_h<4096)){s.match_length=MIN_MATCH-1}}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH;bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH);s.lookahead-=s.prev_length-1;s.prev_length-=2;do{if(++s.strstart<=max_insert){s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){scan=s.strstart-1;prev=_win[scan];if(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead){s.match_length=s.lookahead}}}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;s.strstart+=s.match_length;s.match_length=0}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_huff(s,flush){ var bflush;for(;;){if(s.lookahead===0){fill_window(s);if(s.lookahead===0){if(flush===Z_NO_FLUSH){return BS_NEED_MORE}break}}s.match_length=0;bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}var Config=function(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length;this.max_lazy=max_lazy;this.nice_length=nice_length;this.max_chain=max_chain;this.func=func};var configuration_table;configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size;zero(s.head);s.max_lazy_match=configuration_table[s.level].max_lazy;s.good_match=configuration_table[s.level].good_length;s.nice_match=configuration_table[s.level].nice_length;s.max_chain_length=configuration_table[s.level].max_chain;s.strstart=0;s.block_start=0;s.lookahead=0;s.insert=0;s.match_length=s.prev_length=MIN_MATCH-1;s.match_available=0;s.ins_h=0}function DeflateState(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=Z_DEFLATED;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2);this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2);this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new utils.Buf16(MAX_BITS+1);this.heap=new utils.Buf16(2*L_CODES+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new utils.Buf16(2*L_CODES+1);zero(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state){return err(strm,Z_STREAM_ERROR)}strm.total_in=strm.total_out=0;strm.data_type=Z_UNKNOWN;s=strm.state;s.pending=0;s.pending_out=0;if(s.wrap<0){s.wrap=-s.wrap}s.status=s.wrap?INIT_STATE:BUSY_STATE;strm.adler=s.wrap===2?0:1;s.last_flush=Z_NO_FLUSH;trees._tr_init(s);return Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK){lm_init(strm.state)}return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state){return Z_STREAM_ERROR}if(strm.state.wrap!==2){return Z_STREAM_ERROR}strm.state.gzhead=head;return Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm){return Z_STREAM_ERROR}var wrap=1;if(level===Z_DEFAULT_COMPRESSION){level=6}if(windowBits<0){wrap=0;windowBits=-windowBits}else if(windowBits>15){wrap=2;windowBits-=16}if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED){return err(strm,Z_STREAM_ERROR)}if(windowBits===8){windowBits=9}var s=new DeflateState;strm.state=s;s.strm=strm;s.wrap=wrap;s.gzhead=null;s.w_bits=windowBits;s.w_size=1<>1;s.l_buf=(1+2)*s.lit_bufsize;s.level=level;s.strategy=strategy;s.method=method;return deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s;var beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0){return strm?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR}s=strm.state;if(!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH){return err(strm,strm.avail_out===0?Z_BUF_ERROR:Z_STREAM_ERROR)}s.strm=strm;old_flush=s.last_flush;s.last_flush=flush;if(s.status===INIT_STATE){if(s.wrap===2){strm.adler=0;put_byte(s,31);put_byte(s,139);put_byte(s,8);if(!s.gzhead){put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,OS_CODE);s.status=BUSY_STATE}else{put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(!s.gzhead.extra?0:4)+(!s.gzhead.name?0:8)+(!s.gzhead.comment?0:16));put_byte(s,s.gzhead.time&255);put_byte(s,s.gzhead.time>>8&255);put_byte(s,s.gzhead.time>>16&255);put_byte(s,s.gzhead.time>>24&255);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,s.gzhead.os&255);if(s.gzhead.extra&&s.gzhead.extra.length){put_byte(s,s.gzhead.extra.length&255);put_byte(s,s.gzhead.extra.length>>8&255)}if(s.gzhead.hcrc){strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0)}s.gzindex=0;s.status=EXTRA_STATE}}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8;var level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2){level_flags=0}else if(s.level<6){level_flags=1}else if(s.level===6){level_flags=2}else{level_flags=3}header|=level_flags<<6;if(s.strstart!==0){header|=PRESET_DICT}header+=31-header%31;s.status=BUSY_STATE;putShortMSB(s,header);if(s.strstart!==0){putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}strm.adler=1}}if(s.status===EXTRA_STATE){if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){break}}put_byte(s,s.gzhead.extra[s.gzindex]&255);s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(s.gzindex===s.gzhead.extra.length){s.gzindex=0;s.status=NAME_STATE}}else{s.status=NAME_STATE}}if(s.status===NAME_STATE){if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.gzindex=0;s.status=COMMENT_STATE}}else{s.status=COMMENT_STATE}}if(s.status===COMMENT_STATE){if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.status=HCRC_STATE}}else{s.status=HCRC_STATE}}if(s.status===HCRC_STATE){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size){flush_pending(strm)}if(s.pending+2<=s.pending_buf_size){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);strm.adler=0;s.status=BUSY_STATE}}else{s.status=BUSY_STATE}}if(s.pending!==0){flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH){return err(strm,Z_BUF_ERROR)}if(s.status===FINISH_STATE&&strm.avail_in!==0){return err(strm,Z_BUF_ERROR)}if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY?deflate_huff(s,flush):s.strategy===Z_RLE?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE){s.status=FINISH_STATE}if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0){s.last_flush=-1}return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH){trees._tr_align(s)}else if(flush!==Z_BLOCK){trees._tr_stored_block(s,0,0,false);if(flush===Z_FULL_FLUSH){zero(s.head);if(s.lookahead===0){s.strstart=0;s.block_start=0;s.insert=0}}}flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}}if(flush!==Z_FINISH){return Z_OK}if(s.wrap<=0){return Z_STREAM_END}if(s.wrap===2){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);put_byte(s,strm.adler>>16&255);put_byte(s,strm.adler>>24&255);put_byte(s,strm.total_in&255);put_byte(s,strm.total_in>>8&255);put_byte(s,strm.total_in>>16&255);put_byte(s,strm.total_in>>24&255)}else{putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}flush_pending(strm);if(s.wrap>0){s.wrap=-s.wrap}return s.pending!==0?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state){return Z_STREAM_ERROR}status=strm.state.status;if(status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE){return err(strm,Z_STREAM_ERROR)}strm.state=null;return status===BUSY_STATE?err(strm,Z_DATA_ERROR):Z_OK}exports.deflateInit=deflateInit;exports.deflateInit2=deflateInit2;exports.deflateReset=deflateReset;exports.deflateResetKeep=deflateResetKeep;exports.deflateSetHeader=deflateSetHeader;exports.deflate=deflate;exports.deflateEnd=deflateEnd;exports.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(_dereq_,module,exports){"use strict";function GZheader(){this.text=0;this.time=0;this.xflags=0;this.os=0;this.extra=null;this.extra_len=0;this.name="";this.comment="";this.hcrc=0;this.done=false}module.exports=GZheader},{}],34:[function(_dereq_,module,exports){"use strict";var BAD=30;var TYPE=12;module.exports=function inflate_fast(strm,start){var state;var _in;var last;var _out;var beg;var end;var dmax;var wsize;var whave;var wnext;var window;var hold;var bits;var lcode;var dcode;var lmask;var dmask;var here;var op;var len;var dist;var from;var from_source;var input,output;state=strm.state;_in=strm.next_in;input=strm.input;last=_in+(strm.avail_in-5);_out=strm.next_out;output=strm.output;beg=_out-(start-strm.avail_out);end=_out+(strm.avail_out-257);dmax=state.dmax;wsize=state.wsize;whave=state.whave;wnext=state.wnext;window=state.window;hold=state.hold;bits=state.bits;lcode=state.lencode;dcode=state.distcode;lmask=(1<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op===0){output[_out++]=here&65535}else if(op&16){len=here&65535;op&=15;if(op){if(bits>>=op;bits-=op}if(bits<15){hold+=input[_in++]<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op&16){dist=here&65535;op&=15;if(bitsdmax){strm.msg="invalid distance too far back";state.mode=BAD;break top}hold>>>=op;bits-=op;op=_out-beg;if(dist>op){op=dist-op;if(op>whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break top}}from=0;from_source=window;if(wnext===0){from+=wsize-op;if(op2){output[_out++]=from_source[from++];output[_out++]=from_source[from++];output[_out++]=from_source[from++];len-=3}if(len){output[_out++]=from_source[from++];if(len>1){output[_out++]=from_source[from++]}}}else{from=_out-dist;do{output[_out++]=output[from++];output[_out++]=output[from++];output[_out++]=output[from++];len-=3}while(len>2);if(len){output[_out++]=output[from++];if(len>1){output[_out++]=output[from++]}}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3;_in-=len;bits-=len<<3;hold&=(1<>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new utils.Buf16(320);this.work=new utils.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;strm.total_in=strm.total_out=state.total=0;strm.msg="";if(state.wrap){strm.adler=state.wrap&1}state.mode=HEAD;state.last=0;state.havedict=0;state.dmax=32768;state.head=null;state.hold=0;state.bits=0;state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS);state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS);state.sane=1;state.back=-1;return Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;state.wsize=0;state.whave=0;state.wnext=0;return inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap;var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if(windowBits<0){wrap=0;windowBits=-windowBits}else{wrap=(windowBits>>4)+1;if(windowBits<48){windowBits&=15}}if(windowBits&&(windowBits<8||windowBits>15)){return Z_STREAM_ERROR}if(state.window!==null&&state.wbits!==windowBits){state.window=null}state.wrap=wrap;state.wbits=windowBits;return inflateReset(strm)}function inflateInit2(strm,windowBits){var ret;var state;if(!strm){return Z_STREAM_ERROR}state=new InflateState;strm.state=state;state.window=null;ret=inflateReset2(strm,windowBits);if(ret!==Z_OK){strm.state=null}return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=true;var lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512);distfix=new utils.Buf32(32);sym=0;while(sym<144){state.lens[sym++]=8}while(sym<256){state.lens[sym++]=9}while(sym<280){state.lens[sym++]=7}while(sym<288){state.lens[sym++]=8}inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9});sym=0;while(sym<32){state.lens[sym++]=5}inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5});virgin=false}state.lencode=lenfix;state.lenbits=9;state.distcode=distfix;state.distbits=5}function updatewindow(strm,src,end,copy){var dist;var state=strm.state;if(state.window===null){state.wsize=1<=state.wsize){utils.arraySet(state.window,src,end-state.wsize,state.wsize,0);state.wnext=0;state.whave=state.wsize}else{dist=state.wsize-state.wnext;if(dist>copy){dist=copy}utils.arraySet(state.window,src,end-copy,dist,state.wnext);copy-=dist;if(copy){utils.arraySet(state.window,src,end-copy,copy,0);state.wnext=copy;state.whave=state.wsize}else{state.wnext+=dist;if(state.wnext===state.wsize){state.wnext=0}if(state.whave>>8&255;state.check=crc32(state.check,hbuf,2,0);hold=0;bits=0;state.mode=FLAGS;break}state.flags=0;if(state.head){state.head.done=false}if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg="incorrect header check";state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}hold>>>=4;bits-=4;len=(hold&15)+8;if(state.wbits===0){state.wbits=len}else if(len>state.wbits){strm.msg="invalid window size";state.mode=BAD;break}state.dmax=1<>8&1}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=TIME;case TIME:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;hbuf[2]=hold>>>16&255;hbuf[3]=hold>>>24&255;state.check=crc32(state.check,hbuf,4,0)}hold=0;bits=0;state.mode=OS;case OS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>8}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0}else if(state.head){state.head.extra=null}state.mode=EXTRA;case EXTRA:if(state.flags&1024){copy=state.length;if(copy>have){copy=have}if(copy){if(state.head){len=state.head.extra_len-state.length;if(!state.head.extra){state.head.extra=new Array(state.head.extra_len)}utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;state.length-=copy}if(state.length){break inf_leave}}state.length=0;state.mode=NAME;case NAME:if(state.flags&2048){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.name+=String.fromCharCode(len)}}while(len&©>9&1;state.head.done=true}strm.adler=state.check=0;state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=bits&7;bits-=bits&7;state.mode=CHECK;break}while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=1;bits-=1;switch(hold&3){case 0:state.mode=STORED;break;case 1:fixedtables(state);state.mode=LEN_;if(flush===Z_TREES){hold>>>=2;bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg="invalid block type";state.mode=BAD}hold>>>=2;bits-=2;break;case STORED:hold>>>=bits&7;bits-=bits&7;while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>16^65535)){strm.msg="invalid stored block lengths";state.mode=BAD;break}state.length=hold&65535;hold=0;bits=0;state.mode=COPY_;if(flush===Z_TREES){break inf_leave}case COPY_:state.mode=COPY;case COPY:copy=state.length;if(copy){if(copy>have){copy=have}if(copy>left){copy=left}if(copy===0){break inf_leave}utils.arraySet(output,input,next,copy,put);have-=copy;next+=copy;left-=copy;put+=copy;state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=5;bits-=5;state.ndist=(hold&31)+1;hold>>>=5;bits-=5;state.ncode=(hold&15)+4;hold>>>=4;bits-=4;if(state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols";state.mode=BAD;break}state.have=0;state.mode=LENLENS;case LENLENS:while(state.have>>=3;bits-=3}while(state.have<19){state.lens[order[state.have++]]=0}state.lencode=state.lendyn;state.lenbits=7;opts={bits:state.lenbits};ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid code lengths set";state.mode=BAD;break}state.have=0;state.mode=CODELENS;case CODELENS:while(state.have>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=here_bits;bits-=here_bits;state.lens[state.have++]=here_val}else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits;bits-=here_bits;if(state.have===0){strm.msg="invalid bit length repeat";state.mode=BAD;break}len=state.lens[state.have-1];copy=3+(hold&3);hold>>>=2;bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits;bits-=here_bits;len=0;copy=3+(hold&7);hold>>>=3;bits-=3}else{n=here_bits+7;while(bits>>=here_bits;bits-=here_bits;len=0;copy=11+(hold&127);hold>>>=7;bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat";state.mode=BAD;break}while(copy--){state.lens[state.have++]=len}}}if(state.mode===BAD){break}if(state.lens[256]===0){strm.msg="invalid code -- missing end-of-block";state.mode=BAD;break}state.lenbits=9;opts={bits:state.lenbits};ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid literal/lengths set";state.mode=BAD;break}state.distbits=6;state.distcode=state.distdyn;opts={bits:state.distbits};ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts);state.distbits=opts.bits;if(ret){strm.msg="invalid distances set";state.mode=BAD;break}state.mode=LEN_;if(flush===Z_TREES){break inf_leave}case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;inflate_fast(strm,_out);put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;if(state.mode===TYPE){state.back=-1}break}state.back=0;for(;;){here=state.lencode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;state.length=here_val;if(here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1;state.mode=TYPE;break}if(here_op&64){strm.msg="invalid literal/length code";state.mode=BAD;break}state.extra=here_op&15;state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}state.was=state.length;state.mode=DIST;case DIST:for(;;){here=state.distcode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;if(here_op&64){strm.msg="invalid distance code";state.mode=BAD;break}state.offset=here_val;state.extra=here_op&15;state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back";state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0){break inf_leave}copy=_out-left;if(state.offset>copy){copy=state.offset-copy;if(copy>state.whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break}}if(copy>state.wnext){copy-=state.wnext;from=state.wsize-copy}else{from=state.wnext-copy}if(copy>state.length){copy=state.length}from_source=state.window}else{from_source=output;from=put-state.offset;copy=state.length}if(copy>left){copy=left}left-=copy;state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);if(state.length===0){state.mode=LEN}break;case LIT:if(left===0){break inf_leave}output[put++]=state.length;left--;state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0){break inf_leave}have--;hold|=input[next++]<=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}]},{},[9])(9)});var cptable={version:"1.6.0"};cptable[874]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[932]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[135]="����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[224]="����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[237]="����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split(""); -for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[250]="����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split("");for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}return{enc:e,dec:d}}();cptable[936]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[133]="����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split("");for(j=0;j!=D[133].length;++j)if(D[133][j].charCodeAt(0)!==65533){e[D[133][j]]=34048+j;d[34048+j]=D[133][j]}D[134]="����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split("");for(j=0;j!=D[134].length;++j)if(D[134][j].charCodeAt(0)!==65533){e[D[134][j]]=34304+j;d[34304+j]=D[134][j]}D[135]="����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[160]="����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split("");for(j=0;j!=D[160].length;++j)if(D[160][j].charCodeAt(0)!==65533){e[D[160][j]]=40960+j;d[40960+j]=D[160][j]}D[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[199]="����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(j=0;j!=D[199].length;++j)if(D[199][j].charCodeAt(0)!==65533){e[D[199][j]]=50944+j;d[50944+j]=D[199][j]}D[200]="����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(j=0;j!=D[200].length;++j)if(D[200][j].charCodeAt(0)!==65533){e[D[200][j]]=51200+j;d[51200+j]=D[200][j]}D[201]="����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(j=0;j!=D[201].length;++j)if(D[201][j].charCodeAt(0)!==65533){e[D[201][j]]=51456+j;d[51456+j]=D[201][j]}D[202]="����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split(""); -for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}D[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}D[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[254].length;++j)if(D[254][j].charCodeAt(0)!==65533){e[D[254][j]]=65024+j;d[65024+j]=D[254][j]}return{enc:e,dec:d}}();cptable[949]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(j=0;j!=D[133].length;++j)if(D[133][j].charCodeAt(0)!==65533){e[D[133][j]]=34048+j;d[34048+j]=D[133][j]}D[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(j=0;j!=D[134].length;++j)if(D[134][j].charCodeAt(0)!==65533){e[D[134][j]]=34304+j;d[34304+j]=D[134][j]}D[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(j=0;j!=D[160].length;++j)if(D[160][j].charCodeAt(0)!==65533){e[D[160][j]]=40960+j;d[40960+j]=D[160][j]}D[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split(""); +exports.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var MAXBITS=15;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var CODES=0;var LENS=1;var DISTS=2;var lbase=[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,0,0];var lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var dbase=[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,0,0];var dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits;var len=0;var sym=0;var min=0,max=0;var root=0;var curr=0;var drop=0;var left=0;var used=0;var huff=0;var incr;var fill;var low;var mask;var next;var base=null;var base_index=0;var end;var count=new utils.Buf16(MAXBITS+1);var offs=new utils.Buf16(MAXBITS+1);var extra=null;var extra_index=0;var here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++){count[len]=0}for(sym=0;sym=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}]},{},[9])(9)});var cptable={version:"1.6.0"};cptable[874]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[932]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[135]="����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[224]="����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[237]="����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���".split(""); +for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[250]="����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���".split("");for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}return{enc:e,dec:d}}();cptable[936]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[133]="����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�".split("");for(j=0;j!=D[133].length;++j)if(D[133][j].charCodeAt(0)!==65533){e[D[133][j]]=34048+j;d[34048+j]=D[133][j]}D[134]="����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�".split("");for(j=0;j!=D[134].length;++j)if(D[134][j].charCodeAt(0)!==65533){e[D[134][j]]=34304+j;d[34304+j]=D[134][j]}D[135]="����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[160]="����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�".split("");for(j=0;j!=D[160].length;++j)if(D[160][j].charCodeAt(0)!==65533){e[D[160][j]]=40960+j;d[40960+j]=D[160][j]}D[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[199]="����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(j=0;j!=D[199].length;++j)if(D[199][j].charCodeAt(0)!==65533){e[D[199][j]]=50944+j;d[50944+j]=D[199][j]}D[200]="����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(j=0;j!=D[200].length;++j)if(D[200][j].charCodeAt(0)!==65533){e[D[200][j]]=51200+j;d[51200+j]=D[200][j]}D[201]="����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(j=0;j!=D[201].length;++j)if(D[201][j].charCodeAt(0)!==65533){e[D[201][j]]=51456+j;d[51456+j]=D[201][j]}D[202]="����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split(""); +for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}D[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}D[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[254].length;++j)if(D[254][j].charCodeAt(0)!==65533){e[D[254][j]]=65024+j;d[65024+j]=D[254][j]}return{enc:e,dec:d}}();cptable[949]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(j=0;j!=D[133].length;++j)if(D[133][j].charCodeAt(0)!==65533){e[D[133][j]]=34048+j;d[34048+j]=D[133][j]}D[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(j=0;j!=D[134].length;++j)if(D[134][j].charCodeAt(0)!==65533){e[D[134][j]]=34304+j;d[34304+j]=D[134][j]}D[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(j=0;j!=D[160].length;++j)if(D[160][j].charCodeAt(0)!==65533){e[D[160][j]]=40960+j;d[40960+j]=D[160][j]}D[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split(""); for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(j=0;j!=D[199].length;++j)if(D[199][j].charCodeAt(0)!==65533){e[D[199][j]]=50944+j;d[50944+j]=D[199][j]}D[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(j=0;j!=D[200].length;++j)if(D[200][j].charCodeAt(0)!==65533){e[D[200][j]]=51200+j;d[51200+j]=D[200][j]}D[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}D[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split(""); -for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}return{enc:e,dec:d}}();cptable[950]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(j=0;j!=D[201].length;++j)if(D[201][j].charCodeAt(0)!==65533){e[D[201][j]]=51456+j;d[51456+j]=D[201][j]}D[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split(""); -for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}return{enc:e,dec:d}}();cptable[1250]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1251]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1252]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1253]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1254]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1255]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1256]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1257]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1258]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1e4]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10006]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10007]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10029]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10079]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10081]=function(){var d="\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();if(typeof module!=="undefined"&&module.exports)module.exports=cptable;(function(root,factory){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var cpt=require("./cpt"+"able");if(typeof module!=="undefined"&&module.exports)module.exports=factory(cpt);else root.cptable=factory(cpt)}else throw new Error("cptable not found")}else cptable=factory(cptable)})(this,function(cpt){"use strict";var magic={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var sbcs_cache=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var dbcs_cache=[932,936,949,950];var magic_cache=[65001];var magic_decode={};var magic_encode={};var cpdcache={};var cpecache={};var sfcc=function sfcc(x){return String.fromCharCode(x)};var cca=function cca(x){return x.charCodeAt(0)};var has_buf=typeof Buffer!=="undefined";if(has_buf){var mdl=1024,mdb=new Buffer(mdl);var make_EE=function make_EE(E){var EE=new Buffer(65536);for(var i=0;i<65536;++i)EE[i]=0;var keys=Object.keys(E),len=keys.length;for(var ee=0,e=keys[ee];ee>10&1023)];out[j++]=EE[56320+(w&1023)]}}}out=out.slice(0,j)}else{out=new Buffer(len);for(i=0;i>8}return function sbcs_d(data){var len=data.length,i=0,j=0;if(2*len>mdl){mdl=2*len;mdb=new Buffer(mdl)}if(Buffer.isBuffer(data)){for(i=0;i>8}return function dbcs_e(data,ofmt){var len=data.length,out=new Buffer(2*len),i=0,j=0,jj=0,k=0,D=0;if(typeof data==="string"){for(i=k=0;i0)out[k++]=EE[j]}out=out.slice(0,k)}else if(Buffer.isBuffer(data)){for(i=k=0;i0)out[k++]=EE[j]}else{jj=j-65536;j=2*(55296+(jj>>10&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j];j=2*(56320+(jj&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j]}}out=out.slice(0,k)}else{for(i=k=0;i0)out[k++]=EE[j]}}if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)}};var dbcs_decode=function make_dbcs_decode(cp){var D=cpt[cp].dec;var DD=new Buffer(131072),d=0,c,w=0,j=0,i=0;for(i=0;i<65536;++i){DD[2*i]=255;DD[2*i+1]=253}for(d=0;d>8}return function dbcs_d(data){var len=data.length,out=new Buffer(2*len),i=0,j=0,k=0;if(Buffer.isBuffer(data)){for(i=0;imdl){mdl=4*len;mdb=new Buffer(mdl)}var i=0;if(len>=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(var j=1,k=0,D=0;i>8}else{w-=65536;ww=55296+(w>>10&1023);w=56320+(w&1023);mdb[k++]=ww&255;mdb[k++]=ww>>>8;mdb[k++]=w&255;mdb[k++]=w>>>8&255}}return mdb.slice(0,k).toString("ucs2")};magic_encode[65001]=function utf8_e(data,ofmt){if(has_buf&&Buffer.isBuffer(data)){if(!ofmt||ofmt==="buf")return data;if(ofmt!=="arr")return data.toString("binary");return[].slice.call(data)}var len=data.length,w=0,ww=0,j=0;var direct=typeof data==="string";if(4*len>mdl){mdl=4*len;mdb=new Buffer(mdl)}for(var i=0;i>6);mdb[j++]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;++i;ww=(direct?data.charCodeAt(i):data[i].charCodeAt(0))-56320+(w<<10);mdb[j++]=240+(ww>>>18&7);mdb[j++]=144+(ww>>>12&63);mdb[j++]=128+(ww>>>6&63);mdb[j++]=128+(ww&63)}else{mdb[j++]=224+(w>>12);mdb[j++]=128+(w>>6&63);mdb[j++]=128+(w&63)}}if(!ofmt||ofmt==="buf")return mdb.slice(0,j);if(ofmt!=="arr")return mdb.slice(0,j).toString("binary");return[].slice.call(mdb,0,j)}}var encache=function encache(){if(has_buf){if(cpdcache[sbcs_cache[0]])return;var i=0,s=0;for(i=0;i255){out[j]=w>>8;out[++j]=w&255}else out[j]=w&255}else if(M=magic[cp])switch(M){case"utf8":if(has_buf&&isstr){out=new Buffer(data,M);j=out.length;break}for(i=0;i>6);out[++j]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;ww=(isstr?data.charCodeAt(++i):data[++i].charCodeAt(0))-56320+(w<<10);out[j]=240+(ww>>>18&7);out[++j]=144+(ww>>>12&63);out[++j]=128+(ww>>>6&63);out[++j]=128+(ww&63)}else{out[j]=224+(w>>12);out[++j]=128+(w>>6&63);out[++j]=128+(w&63)}}break;case"ascii":if(has_buf&&typeof data==="string"){out=new Buffer(data,M);j=out.length;break}for(i=0;i>8}break;case"utf16be":for(i=0;i>8;out[j++]=w&255}break;case"utf32le":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255}break;case"utf32be":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j+3]=w&255;w>>=8;out[j+2]=w&255;w>>=8;out[j+1]=w&255;w>>=8;out[j]=w&255;j+=4}break;case"utf7":for(i=0;i-1){out[j++]=c.charCodeAt(0);continue}var tt=encode(1201,c);out[j++]=43;out[j++]=BM.charCodeAt(tt[0]>>2);out[j++]=BM.charCodeAt(((tt[0]&3)<<4)+((tt[1]||0)>>4));out[j++]=BM.charCodeAt(((tt[1]&15)<<2)+((tt[2]||0)>>6));out[j++]=45}break;default:throw new Error("Unsupported magic: "+cp+" "+magic[cp])}else throw new Error("Unrecognized CP: "+cp);out=out.slice(0,j);if(!has_buf)return ofmt=="str"?out.map(sfcc).join(""):out;if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)};var decode=function decode(cp,data){var F;if(F=cpdcache[cp])return F(data);if(typeof data==="string")return decode(cp,data.split("").map(cca));var len=data.length,out=new Array(len),s="",w=0,i=0,j=1,k=0,ww=0;var C=cpt[cp],D,M="";if(C&&(D=C.dec)){for(i=0;i=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(;i>10&1023);w=56320+(w&1023);out[k++]=String.fromCharCode(ww);out[k++]=String.fromCharCode(w)}}break;case"ascii":if(has_buf&&Buffer.isBuffer(data))return data.toString(M);for(i=0;i=2&&data[0]==255)if(data[1]==254)i=2;if(has_buf&&Buffer.isBuffer(data))return data.toString(M);j=2;for(;i+1=2&&data[0]==254)if(data[1]==255)i=2;j=2;for(;i+1=4&&data[0]==255)if(data[1]==254&&data[2]===0&&data[3]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf32be":if(len>=4&&data[3]==255)if(data[2]==254&&data[1]===0&&data[0]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf7":if(len>=4&&data[0]==43&&data[1]==47&&data[2]==118){if(len>=5&&data[3]==56&&data[4]==45)i=5;else if(data[3]==56||data[3]==57||data[3]==43||data[3]==47)i=4}for(;i>4;tt.push(c1);e3=BM.indexOf(String.fromCharCode(data[i+l++]));if(e3===-1)break;c2=(e2&15)<<4|e3>>2;tt.push(c2);e4=BM.indexOf(String.fromCharCode(data[i+l++]));if(e4===-1)break;c3=(e3&3)<<6|e4;if(e4<64)tt.push(c3)}o64=decode(1201,tt);for(l=0;l>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){ -o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)))}return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+g;if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return readIEEE754(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(s,e){return this.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef===undefined?cell.iStyleRef:cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};data.match(tagregex).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name;var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks); -}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if(size&3>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj;for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw"Length mismatch 2: "+blob.l+" !== "+Offset1;var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff!==5&&opts.biff!==2)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){ -return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={},dtag,didx;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor":case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw"Unsupported Unicode Extension"}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8);else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException":break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=opts.biff===2?["Sheet1"]:Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.find){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.find)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{ -cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{ -n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},22:{n:"ExternCount",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function write_ods(wb,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.write_ods)throw new Error("Unsupported ODS");return ODS.write_ods(wb,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipdata(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels)path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";if(!wb.Props)wb.Props={};wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+o.type)}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(opts.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="xls";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}return{enc:e,dec:d}}();cptable[950]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(j=0;j!=D[201].length;++j)if(D[201][j].charCodeAt(0)!==65533){e[D[201][j]]=51456+j;d[51456+j]=D[201][j]}D[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split(""); +for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}return{enc:e,dec:d}}();cptable[1250]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1251]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1252]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1253]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1254]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1255]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1256]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1257]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1258]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1e4]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10006]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10007]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10029]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10079]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10081]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();if(typeof module!=="undefined"&&module.exports)module.exports=cptable;(function(root,factory){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var cpt=require("./cpt"+"able");if(typeof module!=="undefined"&&module.exports)module.exports=factory(cpt);else root.cptable=factory(cpt)}else throw new Error("cptable not found")}else cptable=factory(cptable)})(this,function(cpt){"use strict";var magic={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var sbcs_cache=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var dbcs_cache=[932,936,949,950];var magic_cache=[65001];var magic_decode={};var magic_encode={};var cpdcache={};var cpecache={};var sfcc=function sfcc(x){return String.fromCharCode(x)};var cca=function cca(x){return x.charCodeAt(0)};var has_buf=typeof Buffer!=="undefined";if(has_buf){var mdl=1024,mdb=new Buffer(mdl);var make_EE=function make_EE(E){var EE=new Buffer(65536);for(var i=0;i<65536;++i)EE[i]=0;var keys=Object.keys(E),len=keys.length;for(var ee=0,e=keys[ee];ee>10&1023)];out[j++]=EE[56320+(w&1023)]}}}out=out.slice(0,j)}else{out=new Buffer(len);for(i=0;i>8}return function sbcs_d(data){var len=data.length,i=0,j=0;if(2*len>mdl){mdl=2*len;mdb=new Buffer(mdl)}if(Buffer.isBuffer(data)){for(i=0;i>8}return function dbcs_e(data,ofmt){var len=data.length,out=new Buffer(2*len),i=0,j=0,jj=0,k=0,D=0;if(typeof data==="string"){for(i=k=0;i0)out[k++]=EE[j]}out=out.slice(0,k)}else if(Buffer.isBuffer(data)){for(i=k=0;i0)out[k++]=EE[j]}else{jj=j-65536;j=2*(55296+(jj>>10&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j];j=2*(56320+(jj&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j]}}out=out.slice(0,k)}else{for(i=k=0;i0)out[k++]=EE[j]}}if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)}};var dbcs_decode=function make_dbcs_decode(cp){var D=cpt[cp].dec;var DD=new Buffer(131072),d=0,c,w=0,j=0,i=0;for(i=0;i<65536;++i){DD[2*i]=255;DD[2*i+1]=253}for(d=0;d>8}return function dbcs_d(data){var len=data.length,out=new Buffer(2*len),i=0,j=0,k=0;if(Buffer.isBuffer(data)){for(i=0;imdl){mdl=4*len;mdb=new Buffer(mdl)}var i=0;if(len>=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(var j=1,k=0,D=0;i>8}else{w-=65536;ww=55296+(w>>10&1023);w=56320+(w&1023);mdb[k++]=ww&255;mdb[k++]=ww>>>8;mdb[k++]=w&255;mdb[k++]=w>>>8&255}}return mdb.slice(0,k).toString("ucs2")};magic_encode[65001]=function utf8_e(data,ofmt){if(has_buf&&Buffer.isBuffer(data)){if(!ofmt||ofmt==="buf")return data;if(ofmt!=="arr")return data.toString("binary");return[].slice.call(data)}var len=data.length,w=0,ww=0,j=0;var direct=typeof data==="string";if(4*len>mdl){mdl=4*len;mdb=new Buffer(mdl)}for(var i=0;i>6);mdb[j++]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;++i;ww=(direct?data.charCodeAt(i):data[i].charCodeAt(0))-56320+(w<<10);mdb[j++]=240+(ww>>>18&7);mdb[j++]=144+(ww>>>12&63);mdb[j++]=128+(ww>>>6&63);mdb[j++]=128+(ww&63)}else{mdb[j++]=224+(w>>12);mdb[j++]=128+(w>>6&63);mdb[j++]=128+(w&63)}}if(!ofmt||ofmt==="buf")return mdb.slice(0,j);if(ofmt!=="arr")return mdb.slice(0,j).toString("binary");return[].slice.call(mdb,0,j)}}var encache=function encache(){if(has_buf){if(cpdcache[sbcs_cache[0]])return;var i=0,s=0;for(i=0;i255){out[j]=w>>8;out[++j]=w&255}else out[j]=w&255}else if(M=magic[cp])switch(M){case"utf8":if(has_buf&&isstr){out=new Buffer(data,M);j=out.length;break}for(i=0;i>6);out[++j]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;ww=(isstr?data.charCodeAt(++i):data[++i].charCodeAt(0))-56320+(w<<10);out[j]=240+(ww>>>18&7);out[++j]=144+(ww>>>12&63);out[++j]=128+(ww>>>6&63);out[++j]=128+(ww&63)}else{out[j]=224+(w>>12);out[++j]=128+(w>>6&63);out[++j]=128+(w&63)}}break;case"ascii":if(has_buf&&typeof data==="string"){out=new Buffer(data,M);j=out.length;break}for(i=0;i>8}break;case"utf16be":for(i=0;i>8;out[j++]=w&255}break;case"utf32le":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255}break;case"utf32be":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j+3]=w&255;w>>=8;out[j+2]=w&255;w>>=8;out[j+1]=w&255;w>>=8;out[j]=w&255;j+=4}break;case"utf7":for(i=0;i-1){out[j++]=c.charCodeAt(0);continue}var tt=encode(1201,c);out[j++]=43;out[j++]=BM.charCodeAt(tt[0]>>2);out[j++]=BM.charCodeAt(((tt[0]&3)<<4)+((tt[1]||0)>>4));out[j++]=BM.charCodeAt(((tt[1]&15)<<2)+((tt[2]||0)>>6));out[j++]=45}break;default:throw new Error("Unsupported magic: "+cp+" "+magic[cp])}else throw new Error("Unrecognized CP: "+cp);out=out.slice(0,j);if(!has_buf)return ofmt=="str"?out.map(sfcc).join(""):out;if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)};var decode=function decode(cp,data){var F;if(F=cpdcache[cp])return F(data);if(typeof data==="string")return decode(cp,data.split("").map(cca));var len=data.length,out=new Array(len),s="",w=0,i=0,j=1,k=0,ww=0;var C=cpt[cp],D,M="";if(C&&(D=C.dec)){for(i=0;i=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(;i>10&1023);w=56320+(w&1023);out[k++]=String.fromCharCode(ww);out[k++]=String.fromCharCode(w)}}break;case"ascii":if(has_buf&&Buffer.isBuffer(data))return data.toString(M);for(i=0;i=2&&data[0]==255)if(data[1]==254)i=2;if(has_buf&&Buffer.isBuffer(data))return data.toString(M);j=2;for(;i+1=2&&data[0]==254)if(data[1]==255)i=2;j=2;for(;i+1=4&&data[0]==255)if(data[1]==254&&data[2]===0&&data[3]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf32be":if(len>=4&&data[3]==255)if(data[2]==254&&data[1]===0&&data[0]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf7":if(len>=4&&data[0]==43&&data[1]==47&&data[2]==118){if(len>=5&&data[3]==56&&data[4]==45)i=5;else if(data[3]==56||data[3]==57||data[3]==43||data[3]==47)i=4}for(;i>4;tt.push(c1);e3=BM.indexOf(String.fromCharCode(data[i+l++]));if(e3===-1)break;c2=(e2&15)<<4|e3>>2;tt.push(c2);e4=BM.indexOf(String.fromCharCode(data[i+l++]));if(e4===-1)break;c3=(e3&3)<<6|e4;if(e4<64)tt.push(c3)}o64=decode(1201,tt);for(l=0;l>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee); +while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x); +switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){var xWn=blob.read_shift(2),yWn=blob.read_shift(2),dxWn=blob.read_shift(2),dyWn=blob.read_shift(2);var flags=blob.read_shift(2),iTabCur=blob.read_shift(2),iTabFirst=blob.read_shift(2);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrec=parse_RkRec(blob);return{r:rw,c:col,ixfe:rkrec[0],rknum:rkrec[1]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop; +var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":if(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]=""; +o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var Ftab={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB", +211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,65:3,66:3,67:1,68:1,69:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,105:1,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,189:3,190:1,195:3,196:3,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,65535:0};var XLSXFutureFunctions={"_xlfn.ACOT":"ACOT","_xlfn.ACOTH":"ACOTH","_xlfn.AGGREGATE":"AGGREGATE","_xlfn.ARABIC":"ARABIC","_xlfn.AVERAGEIF":"AVERAGEIF","_xlfn.AVERAGEIFS":"AVERAGEIFS","_xlfn.BASE":"BASE","_xlfn.BETA.DIST":"BETA.DIST","_xlfn.BETA.INV":"BETA.INV","_xlfn.BINOM.DIST":"BINOM.DIST","_xlfn.BINOM.DIST.RANGE":"BINOM.DIST.RANGE","_xlfn.BINOM.INV":"BINOM.INV","_xlfn.BITAND":"BITAND","_xlfn.BITLSHIFT":"BITLSHIFT","_xlfn.BITOR":"BITOR","_xlfn.BITRSHIFT":"BITRSHIFT","_xlfn.BITXOR":"BITXOR","_xlfn.CEILING.MATH":"CEILING.MATH","_xlfn.CEILING.PRECISE":"CEILING.PRECISE","_xlfn.CHISQ.DIST":"CHISQ.DIST","_xlfn.CHISQ.DIST.RT":"CHISQ.DIST.RT","_xlfn.CHISQ.INV":"CHISQ.INV","_xlfn.CHISQ.INV.RT":"CHISQ.INV.RT","_xlfn.CHISQ.TEST":"CHISQ.TEST","_xlfn.COMBINA":"COMBINA","_xlfn.CONFIDENCE.NORM":"CONFIDENCE.NORM","_xlfn.CONFIDENCE.T":"CONFIDENCE.T","_xlfn.COT":"COT","_xlfn.COTH":"COTH","_xlfn.COUNTIFS":"COUNTIFS","_xlfn.COVARIANCE.P":"COVARIANCE.P","_xlfn.COVARIANCE.S":"COVARIANCE.S","_xlfn.CSC":"CSC","_xlfn.CSCH":"CSCH","_xlfn.DAYS":"DAYS","_xlfn.DECIMAL":"DECIMAL","_xlfn.ECMA.CEILING":"ECMA.CEILING","_xlfn.ERF.PRECISE":"ERF.PRECISE","_xlfn.ERFC.PRECISE":"ERFC.PRECISE","_xlfn.EXPON.DIST":"EXPON.DIST","_xlfn.F.DIST":"F.DIST","_xlfn.F.DIST.RT":"F.DIST.RT","_xlfn.F.INV":"F.INV","_xlfn.F.INV.RT":"F.INV.RT","_xlfn.F.TEST":"F.TEST","_xlfn.FILTERXML":"FILTERXML","_xlfn.FLOOR.MATH":"FLOOR.MATH","_xlfn.FLOOR.PRECISE":"FLOOR.PRECISE","_xlfn.FORMULATEXT":"FORMULATEXT","_xlfn.GAMMA":"GAMMA","_xlfn.GAMMA.DIST":"GAMMA.DIST","_xlfn.GAMMA.INV":"GAMMA.INV","_xlfn.GAMMALN.PRECISE":"GAMMALN.PRECISE","_xlfn.GAUSS":"GAUSS","_xlfn.HYPGEOM.DIST":"HYPGEOM.DIST","_xlfn.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_xlfn.IMCOSH":"IMCOSH","_xlfn.IMCOT":"IMCOT","_xlfn.IMCSC":"IMCSC","_xlfn.IMCSCH":"IMCSCH","_xlfn.IMSEC":"IMSEC","_xlfn.IMSECH":"IMSECH","_xlfn.IMSINH":"IMSINH","_xlfn.IMTAN":"IMTAN","_xlfn.ISFORMULA":"ISFORMULA","_xlfn.ISO.CEILING":"ISO.CEILING","_xlfn.ISOWEEKNUM":"ISOWEEKNUM","_xlfn.LOGNORM.DIST":"LOGNORM.DIST","_xlfn.LOGNORM.INV":"LOGNORM.INV","_xlfn.MODE.MULT":"MODE.MULT","_xlfn.MODE.SNGL":"MODE.SNGL","_xlfn.MUNIT":"MUNIT","_xlfn.NEGBINOM.DIST":"NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL":"NETWORKDAYS.INTL","_xlfn.NIGBINOM":"NIGBINOM","_xlfn.NORM.DIST":"NORM.DIST","_xlfn.NORM.INV":"NORM.INV","_xlfn.NORM.S.DIST":"NORM.S.DIST","_xlfn.NORM.S.INV":"NORM.S.INV","_xlfn.NUMBERVALUE":"NUMBERVALUE","_xlfn.PDURATION":"PDURATION","_xlfn.PERCENTILE.EXC":"PERCENTILE.EXC","_xlfn.PERCENTILE.INC":"PERCENTILE.INC","_xlfn.PERCENTRANK.EXC":"PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC":"PERCENTRANK.INC","_xlfn.PERMUTATIONA":"PERMUTATIONA","_xlfn.PHI":"PHI","_xlfn.POISSON.DIST":"POISSON.DIST","_xlfn.QUARTILE.EXC":"QUARTILE.EXC","_xlfn.QUARTILE.INC":"QUARTILE.INC","_xlfn.QUERYSTRING":"QUERYSTRING","_xlfn.RANK.AVG":"RANK.AVG","_xlfn.RANK.EQ":"RANK.EQ","_xlfn.RRI":"RRI","_xlfn.SEC":"SEC","_xlfn.SECH":"SECH","_xlfn.SHEET":"SHEET","_xlfn.SHEETS":"SHEETS","_xlfn.SKEW.P":"SKEW.P","_xlfn.STDEV.P":"STDEV.P","_xlfn.STDEV.S":"STDEV.S","_xlfn.SUMIFS":"SUMIFS","_xlfn.T.DIST":"T.DIST","_xlfn.T.DIST.2T":"T.DIST.2T","_xlfn.T.DIST.RT":"T.DIST.RT","_xlfn.T.INV":"T.INV","_xlfn.T.INV.2T":"T.INV.2T","_xlfn.T.TEST":"T.TEST","_xlfn.UNICHAR":"UNICHAR","_xlfn.UNICODE":"UNICODE","_xlfn.VAR.P":"VAR.P","_xlfn.VAR.S":"VAR.S","_xlfn.WEBSERVICE":"WEBSERVICE","_xlfn.WEIBULL.DIST":"WEIBULL.DIST","_xlfn.WORKDAY.INTL":"WORKDAY.INTL","_xlfn.XOR":"XOR","_xlfn.Z.TEST":"Z.TEST"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4); +z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor":case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect": +break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException":break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt", +f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break; +case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.full.min.map b/dist/xlsx.full.min.map index 576e546..c93eb94 100644 --- a/dist/xlsx.full.min.map +++ b/dist/xlsx.full.min.map @@ -1 +1 @@ -{"version":3,"sources":["jszip.js","dist/cpexcel.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","cptable","version","d","D","enc","split","factory","cpt","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","has_buf","mdl","mdb","make_EE","E","EE","keys","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","ofmt","sbcs_decode","make_sbcs_decode","DD","sbcs_d","dbcs_encode","make_dbcs_encode","dbcs_e","jj","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","C","M","isstr","tt","F","dash","o64","c1","c3","e1","e2","e3","e4","hascp","XLSX","make_xlsx","current_codepage","current_cptable","reset_cp","set_cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","b64_decode","new_raw_buf","s2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdata","safegetzipfile","getzipfile","getzipdata","safe","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","readIEEE754","isLE","nl","ml","el","eMax","eBias","NaN","Infinity","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","trim","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","isfile","write_zip_type","oopts","writeFileSync","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.full.min.js"} \ No newline at end of file +{"version":3,"sources":["jszip.js","dist/cpexcel.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","cptable","version","d","D","enc","split","factory","cpt","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","has_buf","mdl","mdb","make_EE","E","EE","keys","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","ofmt","sbcs_decode","make_sbcs_decode","DD","sbcs_d","dbcs_encode","make_dbcs_encode","dbcs_e","jj","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","C","M","isstr","tt","F","dash","o64","c1","c3","e1","e2","e3","e4","hascp","XLSX","make_xlsx","current_codepage","current_cptable","reset_cp","set_cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","b64_decode","new_raw_buf","s2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.full.min.js"} \ No newline at end of file diff --git a/dist/xlsx.js b/dist/xlsx.js index 03ddef9..4fbd855 100644 --- a/dist/xlsx.js +++ b/dist/xlsx.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.2'; +XLSX.version = '0.8.3'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -851,7 +851,7 @@ SSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[ }; make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap = { +var XLMLFormatMap/*{[string]:string}*/ = ({ "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -868,7 +868,7 @@ var XLMLFormatMap = { "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}; +}); var DO_NOT_EXPORT_CFB = true; /* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ @@ -1258,25 +1258,25 @@ function isval(x) { return x !== undefined && x !== null; } function keys(o) { return Object.keys(o); } function evert_key(obj, key) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; return o; } function evert(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i]; return o; } function evert_num(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10); return o; } function evert_arr(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) { if(o[obj[K[i]]] == null) o[obj[K[i]]] = []; o[obj[K[i]]].push(K[i]); @@ -1297,21 +1297,25 @@ function cc2str(arr) { return o; } -function getdata(data) { +function getdatastr(data) { if(!data) return null; - if(data.name.substr(-4) === ".bin") { - if(data.data) return char_codes(data.data); - if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); - if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); - } else { - if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(data.data); - if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom_xml(data.asBinary()); - if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); - } + if(data.data) return debom_xml(data.data); + if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); + if(data.asBinary) return debom_xml(data.asBinary()); + if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); return null; } +function getdatabin(data) { + if(!data) return null; + if(data.data) return char_codes(data.data); + if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); + if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); + return null; +} + +function getdata(data) { return (data && data.name.substr(data.name.length-4) === ".bin") ? getdatabin(data) : getdatastr(data); } + function safegetzipfile(zip, file) { var f = file; if(zip.files[f]) return zip.files[f]; f = file.toLowerCase(); if(zip.files[f]) return zip.files[f]; @@ -1331,12 +1335,17 @@ function getzipdata(zip, file, safe) { try { return getzipdata(zip, file); } catch(e) { return null; } } +function getzipstr(zip, file, safe) { + if(!safe) return getdatastr(getzipfile(zip, file)); + if(!file) return null; + try { return getzipstr(zip, file); } catch(e) { return null; } +} + var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } @@ -1344,7 +1353,7 @@ var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag, skip_root) { - var z = []; + var z = ([]); var eq = 0, c = 0; for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break; if(!skip_root) z[0] = tag.substr(0, eq); @@ -1375,7 +1384,7 @@ var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) var unescapexml = (function() { var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]+)_/g; - return function unescapexml(text){ + return function unescapexml(text) { var s = text + ''; return s.replace(encregex, function($$) { return encodings[$$]; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));}); }; @@ -1448,7 +1457,7 @@ if(has_buf) { var matchtag = (function() { var mtcache = {}; return function matchtag(f,g) { - var t = f+"|"+g; + var t = f+"|"+(g||""); if(mtcache[t] !== undefined) return mtcache[t]; return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',(g||""))); }; @@ -1464,7 +1473,7 @@ function parseVector(data) { var h = parsexmltag(data); var matches = data.match(vtregex(h.baseType))||[]; - if(matches.length != h.size) throw "unexpected vector length " + matches.length + " != " + h.size; + if(matches.length != h.size) throw new Error("unexpected vector length " + matches.length + " != " + h.size); var res = []; matches.forEach(function(x) { var v = x.replace(vtvregex,"").match(vtmregex); @@ -1479,7 +1488,7 @@ function writetag(f,g) {return '<' + f + (g.match(wtregex)?' xml:space="preserve function wxt_helper(h) { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } function writextag(f,g,h) { return '<' + f + (isval(h) ? wxt_helper(h) : "") + (isval(g) ? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } +function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } function write_vt(s) { switch(typeof s) { @@ -1492,7 +1501,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = { +var XMLNS = ({ 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -1502,7 +1511,7 @@ var XMLNS = { 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsd': 'http://www.w3.org/2001/XMLSchema' -}; +}); XMLNS.main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', @@ -1511,22 +1520,30 @@ XMLNS.main = [ 'http://schemas.microsoft.com/office/excel/2006/2' ]; -function readIEEE754(buf, idx, isLE, nl, ml) { - if(isLE === undefined) isLE = true; - if(!nl) nl = 8; - if(!ml && nl === 8) ml = 52; - var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; - var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; +function read_double_le(b, idx) { + var s = 1 - 2 * (b[idx + 7] >>> 7); + var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); + var m = (b[idx+6]&0x0f); + for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; + if(e == 0x7ff) return m == 0 ? s * Infinity : NaN; + if(e == 0) e = -1022; + else { e -= 1023; m += Math.pow(2,52); } + return s * Math.pow(2, e - 52) * m; +} - i += d; - e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; - for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); - m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; - for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); - if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); - else if (e === 0) e = 1 - eBias; - else { m = m + Math.pow(2, ml); e = e - eBias; } - return (s ? -1 : 1) * m * Math.pow(2, e - ml); +function write_double_le(b, v, idx) { + var bs = ((v < 0 || 1/v == -Infinity) ? 1 : 0) << 7, e = 0, m = 0; + var av = bs ? -v : v; + if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } + else { + e = Math.floor(Math.log(av) * Math.LOG2E); + m = v * Math.pow(2, 52 - e); + if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } + else { m -= Math.pow(2,52); e+=1023; } + } + for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; + b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; + b[idx + 7] = (e >> 4) | bs; } var __toBuffer, ___toBuffer; @@ -1542,7 +1559,7 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur var __lpwstr, ___lpwstr; __lpwstr = ___lpwstr = function lpwstr_(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; var __double, ___double; -__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; +__double = ___double = function(b, idx) { return read_double_le(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; if(has_buf) { @@ -1550,7 +1567,7 @@ if(has_buf) { __hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); }; __lpstr = function lpstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; __lpwstr = function lpwstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);}; - __utf8 = function utf8_b(s,e) { return this.toString('utf8',s,e); }; + __utf8 = function utf8_b(b, s,e) { return b.toString('utf8',s,e); }; __toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);}; bconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); }; __double = function double_(b,i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); }; @@ -1638,20 +1655,27 @@ function ReadShift(size, t) { this.l+=size; return o; } +var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; +var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; +var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; + function WriteShift(t, val, f) { var size, i; if(f === 'dbcs') { - for(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; + } else if(f === 'sbcs') { + for(i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 0xFF; + size = val.length; } else switch(t) { - case 1: size = 1; this[this.l] = val&255; break; - case 2: size = 2; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; break; - case 3: size = 3; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l+2] = val&255; break; - case 4: size = 4; this.writeUInt32LE(val, this.l); break; - case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } + case 1: size = 1; this[this.l] = val&0xFF; break; + case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; + case 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; + case 4: size = 4; __writeUInt32LE(this, val, this.l); break; + case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; this.writeInt32LE(val, this.l); break; + case -4: size = 4; __writeInt32LE(this, val, this.l); break; } this.l += size; return this; } @@ -1681,6 +1705,7 @@ function new_buf(sz) { /* [MS-XLSB] 2.1.4 Record */ function recordhopper(data, cb, opts) { + if(!data) return; var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -1707,13 +1732,14 @@ function buf_array() { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { + if(!curbuf) return; if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(sz < curbuf.length - curbuf.l) return curbuf; + if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -1725,11 +1751,12 @@ function buf_array() { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return { next:next, push:push, end:end, _bufs:bufs }; + return ({ next:next, push:push, end:end, _bufs:bufs }); } function write_record(ba, type, payload, length) { - var t = evert_RE[type], l; + var t = Number(evert_RE[type]), l; + if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; @@ -1793,11 +1820,10 @@ var make_offcrypto = function(O, _crypto) { return out; }; - if(crypto) { - O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; - } else { - O.md5 = function(hex) { throw "unimplemented"; }; - } + O.md5 = function(hex) { + if(!crypto) throw new Error("Unsupported crypto"); + return crypto.createHash('md5').update(hex).digest('hex'); + }; }; make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); @@ -1813,7 +1839,7 @@ function parse_RichStr(data, length) { var flags = data.read_shift(1); var str = parse_XLWideString(data); var rgsStrRun = []; - var z = { t: str, h: str }; + var z = ({ t: str, h: str }); if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -1846,7 +1872,7 @@ function parse_XLSBCell(data) { function write_XLSBCell(cell, o) { if(o == null) o = new_buf(8); o.write_shift(-4, cell.c); - o.write_shift(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); + o.write_shift(3, cell.iStyleRef || cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -1906,7 +1932,7 @@ function write_RkNumber(data, o) { /* [MS-XLSB] 2.5.153 */ function parse_UncheckedRfX(data) { - var cell = {s: {}, e: {}}; + var cell = ({s: {}, e: {}}); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); cell.s.c = data.read_shift(4); @@ -1931,15 +1957,15 @@ function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f' /* [MS-XLSB] 2.5.198.2 */ var BErr = { - 0x00: "#NULL!", - 0x07: "#DIV/0!", - 0x0F: "#VALUE!", - 0x17: "#REF!", - 0x1D: "#NAME?", - 0x24: "#NUM!", - 0x2A: "#N/A", - 0x2B: "#GETTING_DATA", - 0xFF: "#WTF?" +0x00: "#NULL!", +0x07: "#DIV/0!", +0x0F: "#VALUE!", +0x17: "#REF!", +0x1D: "#NAME?", +0x24: "#NUM!", +0x2A: "#N/A", +0x2B: "#GETTING_DATA", +0xFF: "#WTF?" }; var RBErr = evert_num(BErr); @@ -2016,62 +2042,62 @@ function parse_FontFlags(data, length) { /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Category', t: VT_STRING }, - 0x03: { n: 'PresentationFormat', t: VT_STRING }, - 0x04: { n: 'ByteCount', t: VT_I4 }, - 0x05: { n: 'LineCount', t: VT_I4 }, - 0x06: { n: 'ParagraphCount', t: VT_I4 }, - 0x07: { n: 'SlideCount', t: VT_I4 }, - 0x08: { n: 'NoteCount', t: VT_I4 }, - 0x09: { n: 'HiddenCount', t: VT_I4 }, - 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, - 0x0b: { n: 'Scale', t: VT_BOOL }, - 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, - 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, - 0x0e: { n: 'Manager', t: VT_STRING }, - 0x0f: { n: 'Company', t: VT_STRING }, - 0x10: { n: 'LinksDirty', t: VT_BOOL }, - 0x11: { n: 'CharacterCount', t: VT_I4 }, - 0x13: { n: 'SharedDoc', t: VT_BOOL }, - 0x16: { n: 'HLinksChanged', t: VT_BOOL }, - 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, - 0x1A: { n: 'ContentType', t: VT_STRING }, - 0x1B: { n: 'ContentStatus', t: VT_STRING }, - 0x1C: { n: 'Language', t: VT_STRING }, - 0x1D: { n: 'Version', t: VT_STRING }, - 0xFF: {} +0x01: { n: 'CodePage', t: VT_I2 }, +0x02: { n: 'Category', t: VT_STRING }, +0x03: { n: 'PresentationFormat', t: VT_STRING }, +0x04: { n: 'ByteCount', t: VT_I4 }, +0x05: { n: 'LineCount', t: VT_I4 }, +0x06: { n: 'ParagraphCount', t: VT_I4 }, +0x07: { n: 'SlideCount', t: VT_I4 }, +0x08: { n: 'NoteCount', t: VT_I4 }, +0x09: { n: 'HiddenCount', t: VT_I4 }, +0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, +0x0b: { n: 'Scale', t: VT_BOOL }, +0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, +0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, +0x0e: { n: 'Manager', t: VT_STRING }, +0x0f: { n: 'Company', t: VT_STRING }, +0x10: { n: 'LinksDirty', t: VT_BOOL }, +0x11: { n: 'CharacterCount', t: VT_I4 }, +0x13: { n: 'SharedDoc', t: VT_BOOL }, +0x16: { n: 'HLinksChanged', t: VT_BOOL }, +0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, +0x1A: { n: 'ContentType', t: VT_STRING }, +0x1B: { n: 'ContentStatus', t: VT_STRING }, +0x1C: { n: 'Language', t: VT_STRING }, +0x1D: { n: 'Version', t: VT_STRING }, +0xFF: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Title', t: VT_STRING }, - 0x03: { n: 'Subject', t: VT_STRING }, - 0x04: { n: 'Author', t: VT_STRING }, - 0x05: { n: 'Keywords', t: VT_STRING }, - 0x06: { n: 'Comments', t: VT_STRING }, - 0x07: { n: 'Template', t: VT_STRING }, - 0x08: { n: 'LastAuthor', t: VT_STRING }, - 0x09: { n: 'RevNumber', t: VT_STRING }, - 0x0A: { n: 'EditTime', t: VT_FILETIME }, - 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, - 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, - 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, - 0x0E: { n: 'PageCount', t: VT_I4 }, - 0x0F: { n: 'WordCount', t: VT_I4 }, - 0x10: { n: 'CharCount', t: VT_I4 }, - 0x11: { n: 'Thumbnail', t: VT_CF }, - 0x12: { n: 'ApplicationName', t: VT_LPSTR }, - 0x13: { n: 'DocumentSecurity', t: VT_I4 }, - 0xFF: {} +0x01: { n: 'CodePage', t: VT_I2 }, +0x02: { n: 'Title', t: VT_STRING }, +0x03: { n: 'Subject', t: VT_STRING }, +0x04: { n: 'Author', t: VT_STRING }, +0x05: { n: 'Keywords', t: VT_STRING }, +0x06: { n: 'Comments', t: VT_STRING }, +0x07: { n: 'Template', t: VT_STRING }, +0x08: { n: 'LastAuthor', t: VT_STRING }, +0x09: { n: 'RevNumber', t: VT_STRING }, +0x0A: { n: 'EditTime', t: VT_FILETIME }, +0x0B: { n: 'LastPrinted', t: VT_FILETIME }, +0x0C: { n: 'CreatedDate', t: VT_FILETIME }, +0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, +0x0E: { n: 'PageCount', t: VT_I4 }, +0x0F: { n: 'WordCount', t: VT_I4 }, +0x10: { n: 'CharCount', t: VT_I4 }, +0x11: { n: 'Thumbnail', t: VT_CF }, +0x12: { n: 'ApplicationName', t: VT_LPSTR }, +0x13: { n: 'DocumentSecurity', t: VT_I4 }, +0xFF: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { - 0x80000000: { n: 'Locale', t: VT_UI4 }, - 0x80000003: { n: 'Behavior', t: VT_UI4 }, - 0x72627262: {} +0x80000000: { n: 'Locale', t: VT_UI4 }, +0x80000003: { n: 'Behavior', t: VT_UI4 }, +0x72627262: {} }; (function() { @@ -2081,56 +2107,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { - 0x0001: "US", // United States - 0x0002: "CA", // Canada - 0x0003: "", // Latin America (except Brazil) - 0x0007: "RU", // Russia - 0x0014: "EG", // Egypt - 0x001E: "GR", // Greece - 0x001F: "NL", // Netherlands - 0x0020: "BE", // Belgium - 0x0021: "FR", // France - 0x0022: "ES", // Spain - 0x0024: "HU", // Hungary - 0x0027: "IT", // Italy - 0x0029: "CH", // Switzerland - 0x002B: "AT", // Austria - 0x002C: "GB", // United Kingdom - 0x002D: "DK", // Denmark - 0x002E: "SE", // Sweden - 0x002F: "NO", // Norway - 0x0030: "PL", // Poland - 0x0031: "DE", // Germany - 0x0034: "MX", // Mexico - 0x0037: "BR", // Brazil - 0x003d: "AU", // Australia - 0x0040: "NZ", // New Zealand - 0x0042: "TH", // Thailand - 0x0051: "JP", // Japan - 0x0052: "KR", // Korea - 0x0054: "VN", // Viet Nam - 0x0056: "CN", // China - 0x005A: "TR", // Turkey - 0x0069: "JS", // Ramastan - 0x00D5: "DZ", // Algeria - 0x00D8: "MA", // Morocco - 0x00DA: "LY", // Libya - 0x015F: "PT", // Portugal - 0x0162: "IS", // Iceland - 0x0166: "FI", // Finland - 0x01A4: "CZ", // Czech Republic - 0x0376: "TW", // Taiwan - 0x03C1: "LB", // Lebanon - 0x03C2: "JO", // Jordan - 0x03C3: "SY", // Syria - 0x03C4: "IQ", // Iraq - 0x03C5: "KW", // Kuwait - 0x03C6: "SA", // Saudi Arabia - 0x03CB: "AE", // United Arab Emirates - 0x03CC: "IL", // Israel - 0x03CE: "QA", // Qatar - 0x03D5: "IR", // Iran - 0xFFFF: "US" // United States +0x0001: "US", // United States +0x0002: "CA", // Canada +0x0003: "", // Latin America (except Brazil) +0x0007: "RU", // Russia +0x0014: "EG", // Egypt +0x001E: "GR", // Greece +0x001F: "NL", // Netherlands +0x0020: "BE", // Belgium +0x0021: "FR", // France +0x0022: "ES", // Spain +0x0024: "HU", // Hungary +0x0027: "IT", // Italy +0x0029: "CH", // Switzerland +0x002B: "AT", // Austria +0x002C: "GB", // United Kingdom +0x002D: "DK", // Denmark +0x002E: "SE", // Sweden +0x002F: "NO", // Norway +0x0030: "PL", // Poland +0x0031: "DE", // Germany +0x0034: "MX", // Mexico +0x0037: "BR", // Brazil +0x003d: "AU", // Australia +0x0040: "NZ", // New Zealand +0x0042: "TH", // Thailand +0x0051: "JP", // Japan +0x0052: "KR", // Korea +0x0054: "VN", // Viet Nam +0x0056: "CN", // China +0x005A: "TR", // Turkey +0x0069: "JS", // Ramastan +0x00D5: "DZ", // Algeria +0x00D8: "MA", // Morocco +0x00DA: "LY", // Libya +0x015F: "PT", // Portugal +0x0162: "IS", // Iceland +0x0166: "FI", // Finland +0x01A4: "CZ", // Czech Republic +0x0376: "TW", // Taiwan +0x03C1: "LB", // Lebanon +0x03C2: "JO", // Jordan +0x03C3: "SY", // Syria +0x03C4: "IQ", // Iraq +0x03C5: "KW", // Kuwait +0x03C6: "SA", // Saudi Arabia +0x03CB: "AE", // United Arab Emirates +0x03CC: "IL", // Israel +0x03CE: "QA", // Qatar +0x03D5: "IR", // Iran +0xFFFF: "US" // United States }; /* [MS-XLS] 2.5.127 */ @@ -2241,7 +2267,7 @@ var XLSIcv = rgbify([ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type = { +var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -2379,7 +2405,7 @@ var ct2type = { "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}; +}); var CT_LIST = (function(){ var o = { @@ -2407,16 +2433,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct = evert_arr(ct2type); +var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; function parse_ct(data, opts) { - var ctext = {}; - if(!data || !data.match) return data; - var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], + var ct = ({ workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], - TODO:[], rels:[], xmlns: "" }; + TODO:[], rels:[], xmlns: "" }); + if(!data || !data.match) return ct; + var ctext = {}; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -2491,10 +2517,10 @@ function write_ct(ct, opts) { return o.join(""); } /* 9.3.2 OPC Relationships Markup */ -var RELS = { +var RELS = ({ WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument" -}; +}); function parse_rels(data, currentFilePath) { if (!data) return data; @@ -2519,7 +2545,7 @@ function parse_rels(data, currentFilePath) { return toksFrom.join('/'); }; - data.match(tagregex).forEach(function(x) { + (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === ' utf8, 0x1 -> dbcs - var cRun, cbExtRst; + var cRun = 0, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -3133,7 +3159,7 @@ function parse_XLUnicodeString(blob, length, opts) { } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff !== 5 && opts.biff !== 2) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); var cch = blob.read_shift(1); if(cch === 0) { blob.l++; return ""; } return blob.read_shift(cch, 'sbcs-cont'); @@ -3224,7 +3250,7 @@ function parse_XLSCell(blob, length) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return {r:rw, c:col, ixfe:ixfe}; + return ({r:rw, c:col, ixfe:ixfe}); } /* 2.5.134 */ @@ -3320,22 +3346,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { - 0x15: parse_FtCmo, - 0x13: parsenoop, /* FtLbsData */ - 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ - 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ - 0x10: parsenoop, /* FtEdoData */ - 0x0F: parsenoop, /* FtGboData */ - 0x0D: parse_FtNts, /* FtNts */ - 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ - 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ - 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ - 0x09: parsenoop, /* FtPictFmla */ - 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ - 0x07: parse_FtCf, /* FtCf */ - 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ - 0x04: parsenoop, /* FtMacro */ - 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ +0x15: parse_FtCmo, +0x13: parsenoop, /* FtLbsData */ +0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ +0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ +0x10: parsenoop, /* FtEdoData */ +0x0F: parsenoop, /* FtGboData */ +0x0D: parse_FtNts, /* FtNts */ +0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ +0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ +0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ +0x09: parsenoop, /* FtPictFmla */ +0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ +0x07: parse_FtCf, /* FtCf */ +0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ +0x04: parsenoop, /* FtMacro */ +0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -3365,7 +3391,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: throw "Unexpected BIFF Ver " + o.BIFFVer; + default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); } blob.read_shift(length); return o; @@ -3394,7 +3420,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) >> 6; + var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -3460,7 +3486,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = blob.read_shift(2), miyRw; + var f = length == 4 ? blob.read_shift(2) : 0, miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -3503,6 +3529,7 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } +var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ function parse_Dimensions(blob, length) { @@ -3561,13 +3588,14 @@ function parse_Guts(blob, length) { var out = [blob.read_shift(2), blob.read_shift(2)]; if(out[0] !== 0) out[0]--; if(out[1] !== 0) out[1]--; - if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out.join("|"); return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length) { +function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -3600,7 +3628,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = { + var o = ({ fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -3608,7 +3636,7 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }; + }); if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); @@ -3617,7 +3645,6 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { - if(opts.biff < 8) return parse_Label(blob, length, opts); var target = blob.l + length; var flags = blob.read_shift(2); var chKey = blob.read_shift(1); @@ -3705,6 +3732,7 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; + var texts = ""; try { blob.l += 4; var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; @@ -3718,7 +3746,6 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); - var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -3739,7 +3766,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts||"" }; } +} catch(e) { blob.l = s + length; return { t: texts }; } } /* 2.4.140 */ @@ -4134,33 +4161,56 @@ function parse_BIFF2NUM(blob, length, opts) { return cell; } +function parse_BIFF2INT(blob, length) { + var cell = parse_XLSCell(blob, 6); + ++blob.l; + var num = blob.read_shift(2); + cell.val = num; + return cell; +} + +function parse_BIFF2STRING(blob, length) { + var cch = blob.read_shift(1); + if(cch === 0) { blob.l++; return ""; } + return blob.read_shift(cch, 'sbcs-cont'); +} + +/* TODO: convert to BIFF8 font struct */ +function parse_BIFF2FONTXTRA(blob, length) { + blob.l += 6; // unknown + blob.l += 2; // font weight "bls" + blob.l += 1; // charset + blob.l += 3; // unknown + blob.l += 1; // font family + blob.l += length - 9; +} /* 18.4.1 charset to codepage mapping */ -var CS2CP = { - 0: 1252, /* ANSI */ - 1: 65001, /* DEFAULT */ - 2: 65001, /* SYMBOL */ - 77: 10000, /* MAC */ - 128: 932, /* SHIFTJIS */ - 129: 949, /* HANGUL */ - 130: 1361, /* JOHAB */ - 134: 936, /* GB2312 */ - 136: 950, /* CHINESEBIG5 */ - 161: 1253, /* GREEK */ - 162: 1254, /* TURKISH */ - 163: 1258, /* VIETNAMESE */ - 177: 1255, /* HEBREW */ - 178: 1256, /* ARABIC */ - 186: 1257, /* BALTIC */ - 204: 1251, /* RUSSIAN */ - 222: 874, /* THAI */ - 238: 1250, /* EASTEUROPE */ - 255: 1252, /* OEM */ - 69: 6969 /* MISC */ -}; +var CS2CP = ({ +0: 1252, /* ANSI */ +1: 65001, /* DEFAULT */ +2: 65001, /* SYMBOL */ +77: 10000, /* MAC */ +128: 932, /* SHIFTJIS */ +129: 949, /* HANGUL */ +130: 1361, /* JOHAB */ +134: 936, /* GB2312 */ +136: 950, /* CHINESEBIG5 */ +161: 1253, /* GREEK */ +162: 1254, /* TURKISH */ +163: 1258, /* VIETNAMESE */ +177: 1255, /* HEBREW */ +178: 1256, /* ARABIC */ +186: 1257, /* BALTIC */ +204: 1251, /* RUSSIAN */ +222: 874, /* THAI */ +238: 1250, /* EASTEUROPE */ +255: 1252, /* OEM */ +69: 6969 /* MISC */ +}); /* Parse a list of tags */ var parse_rs = (function parse_rs_factory() { - var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; + var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = /<(?:\w+:)?r>/g, rend = /<\/(?:\w+:)?r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -4271,22 +4321,22 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; +var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.charCodeAt(1) === 116) { - z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { z.r = x; - z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ @@ -4295,11 +4345,12 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /]*)>([\s\S]*)<\/sst>/; -var sstr1 = /<(?:si|sstItem)>/g; -var sstr2 = /<\/(?:si|sstItem)>/; +var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; +var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; +var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; function parse_sst_xml(data, opts) { - var s = [], ss; + var s = ([]), ss = ""; + if(!data) return s; /* 18.4.9 sst CT_Sst */ var sst = data.match(sstr0); if(isval(sst)) { @@ -4377,7 +4428,12 @@ function write_sst_bin(sst, opts) { write_record(ba, "BrtEndSst"); return ba.end(); } -function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } +function _JS2ANSI(str) { + if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); + var o = [], oo = str.split(""); + for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); + return o; +} /* [MS-OFFCRYPTO] 2.1.4 Version */ function parse_Version(blob, length) { @@ -4527,7 +4583,7 @@ var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArra var crypto_MakeXorDecryptor = function(password) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -4535,7 +4591,7 @@ var crypto_MakeXorDecryptor = function(password) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = { key: parseuint16(blob), verificationBytes: parseuint16(blob) }; + var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }); if(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password); out.valid = o.verificationBytes === o.verifier; if(out.valid) out.insitu_decrypt = crypto_MakeXorDecryptor(opts.password); @@ -4685,7 +4741,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); } }); } @@ -4693,9 +4749,10 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k = keys(SSF._table); + var k/*Array*/ = (keys(SSF._table)); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); + if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -4704,7 +4761,7 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); } } } @@ -4765,6 +4822,7 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { + if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -4823,7 +4881,7 @@ function parse_BrtFmt(data, length) { /* [MS-XLSB] 2.4.653 BrtFont TODO */ function parse_BrtFont(data, length) { - var out = {flags:{}}; + var out = ({flags:{}}); out.dyHeight = data.read_shift(2); out.grbit = parse_FontFlags(data, 2); out.bls = data.read_shift(2); @@ -4858,7 +4916,7 @@ function parse_BrtXF(data, length) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = []; + styles.NumberFmt = ([]); for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; @@ -4953,7 +5011,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - t[0].match(tagregex).forEach(function(x) { + (t[0].match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -5037,7 +5095,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; + if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); m[2](t, opts); }); } @@ -5058,7 +5116,175 @@ function parse_theme_xml(data, opts) { return themes; } -function write_theme() { return '\n'; } +function write_theme() { + var o = [XML_HEADER]; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + return o.join(""); +} /* [MS-XLS] 2.4.326 TODO: payload is a zip file */ function parse_Theme(blob, length) { var dwThemeVersion = blob.read_shift(4); @@ -5140,6 +5366,7 @@ function update_xfext(xf, xfext) { /* 18.6 Calculation Chain */ function parse_cc_xml(data, opts) { var d = []; + if(!data) return d; var l = 0, i = 1; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); @@ -5221,7 +5448,7 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = {a: comment.author, t: comment.t, r: comment.r}; + var o = ({a: comment.author, t: comment.t, r: comment.r}); if(comment.h) o.h = comment.h; cell.c.push(o); }); @@ -5232,19 +5459,25 @@ function parse_comments_xml(data, opts) { if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { + var authtag = data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/); + if(authtag && authtag[1]) authtag[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); + var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); + if(a) authors.push(a[1]); }); - (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); + if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); - var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; + var cm = x.match(/<(?:\w+:)?comment[^>]*>/); + if(!cm) return; + var y = parsexmltag(cm[0]); + var comment = ({ author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }); var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; - var textMatch = x.match(/([^\u2603]*)<\/text>/); + var textMatch = x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); + if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; @@ -5672,100 +5905,106 @@ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { - 0x01: { n:'PtgExp', f:parse_PtgExp }, - 0x02: { n:'PtgTbl', f:parse_PtgTbl }, - 0x03: { n:'PtgAdd', f:parse_PtgAdd }, - 0x04: { n:'PtgSub', f:parse_PtgSub }, - 0x05: { n:'PtgMul', f:parse_PtgMul }, - 0x06: { n:'PtgDiv', f:parse_PtgDiv }, - 0x07: { n:'PtgPower', f:parse_PtgPower }, - 0x08: { n:'PtgConcat', f:parse_PtgConcat }, - 0x09: { n:'PtgLt', f:parse_PtgLt }, - 0x0A: { n:'PtgLe', f:parse_PtgLe }, - 0x0B: { n:'PtgEq', f:parse_PtgEq }, - 0x0C: { n:'PtgGe', f:parse_PtgGe }, - 0x0D: { n:'PtgGt', f:parse_PtgGt }, - 0x0E: { n:'PtgNe', f:parse_PtgNe }, - 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, - 0x10: { n:'PtgUnion', f:parse_PtgUnion }, - 0x11: { n:'PtgRange', f:parse_PtgRange }, - 0x12: { n:'PtgUplus', f:parse_PtgUplus }, - 0x13: { n:'PtgUminus', f:parse_PtgUminus }, - 0x14: { n:'PtgPercent', f:parse_PtgPercent }, - 0x15: { n:'PtgParen', f:parse_PtgParen }, - 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, - 0x17: { n:'PtgStr', f:parse_PtgStr }, - 0x1C: { n:'PtgErr', f:parse_PtgErr }, - 0x1D: { n:'PtgBool', f:parse_PtgBool }, - 0x1E: { n:'PtgInt', f:parse_PtgInt }, - 0x1F: { n:'PtgNum', f:parse_PtgNum }, - 0x20: { n:'PtgArray', f:parse_PtgArray }, - 0x21: { n:'PtgFunc', f:parse_PtgFunc }, - 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - 0x23: { n:'PtgName', f:parse_PtgName }, - 0x24: { n:'PtgRef', f:parse_PtgRef }, - 0x25: { n:'PtgArea', f:parse_PtgArea }, - 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, - 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, - 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, - 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, - 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, - 0x39: { n:'PtgNameX', f:parse_PtgNameX }, - 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, - 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, - 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - 0xFF: {} +0x01: { n:'PtgExp', f:parse_PtgExp }, +0x02: { n:'PtgTbl', f:parse_PtgTbl }, +0x03: { n:'PtgAdd', f:parse_PtgAdd }, +0x04: { n:'PtgSub', f:parse_PtgSub }, +0x05: { n:'PtgMul', f:parse_PtgMul }, +0x06: { n:'PtgDiv', f:parse_PtgDiv }, +0x07: { n:'PtgPower', f:parse_PtgPower }, +0x08: { n:'PtgConcat', f:parse_PtgConcat }, +0x09: { n:'PtgLt', f:parse_PtgLt }, +0x0A: { n:'PtgLe', f:parse_PtgLe }, +0x0B: { n:'PtgEq', f:parse_PtgEq }, +0x0C: { n:'PtgGe', f:parse_PtgGe }, +0x0D: { n:'PtgGt', f:parse_PtgGt }, +0x0E: { n:'PtgNe', f:parse_PtgNe }, +0x0F: { n:'PtgIsect', f:parse_PtgIsect }, +0x10: { n:'PtgUnion', f:parse_PtgUnion }, +0x11: { n:'PtgRange', f:parse_PtgRange }, +0x12: { n:'PtgUplus', f:parse_PtgUplus }, +0x13: { n:'PtgUminus', f:parse_PtgUminus }, +0x14: { n:'PtgPercent', f:parse_PtgPercent }, +0x15: { n:'PtgParen', f:parse_PtgParen }, +0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, +0x17: { n:'PtgStr', f:parse_PtgStr }, +0x1C: { n:'PtgErr', f:parse_PtgErr }, +0x1D: { n:'PtgBool', f:parse_PtgBool }, +0x1E: { n:'PtgInt', f:parse_PtgInt }, +0x1F: { n:'PtgNum', f:parse_PtgNum }, +0x20: { n:'PtgArray', f:parse_PtgArray }, +0x21: { n:'PtgFunc', f:parse_PtgFunc }, +0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, +0x23: { n:'PtgName', f:parse_PtgName }, +0x24: { n:'PtgRef', f:parse_PtgRef }, +0x25: { n:'PtgArea', f:parse_PtgArea }, +0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, +0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, +0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, +0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, +0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, +0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, +0x2C: { n:'PtgRefN', f:parse_PtgRefN }, +0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, +0x39: { n:'PtgNameX', f:parse_PtgNameX }, +0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, +0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, +0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, +0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, +0xFF: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { - 0x40: 0x20, 0x60: 0x20, - 0x41: 0x21, 0x61: 0x21, - 0x42: 0x22, 0x62: 0x22, - 0x43: 0x23, 0x63: 0x23, - 0x44: 0x24, 0x64: 0x24, - 0x45: 0x25, 0x65: 0x25, - 0x46: 0x26, 0x66: 0x26, - 0x47: 0x27, 0x67: 0x27, - 0x48: 0x28, 0x68: 0x28, - 0x49: 0x29, 0x69: 0x29, - 0x4A: 0x2A, 0x6A: 0x2A, - 0x4B: 0x2B, 0x6B: 0x2B, - 0x4C: 0x2C, 0x6C: 0x2C, - 0x4D: 0x2D, 0x6D: 0x2D, - 0x59: 0x39, 0x79: 0x39, - 0x5A: 0x3A, 0x7A: 0x3A, - 0x5B: 0x3B, 0x7B: 0x3B, - 0x5C: 0x3C, 0x7C: 0x3C, - 0x5D: 0x3D, 0x7D: 0x3D +0x40: 0x20, 0x60: 0x20, +0x41: 0x21, 0x61: 0x21, +0x42: 0x22, 0x62: 0x22, +0x43: 0x23, 0x63: 0x23, +0x44: 0x24, 0x64: 0x24, +0x45: 0x25, 0x65: 0x25, +0x46: 0x26, 0x66: 0x26, +0x47: 0x27, 0x67: 0x27, +0x48: 0x28, 0x68: 0x28, +0x49: 0x29, 0x69: 0x29, +0x4A: 0x2A, 0x6A: 0x2A, +0x4B: 0x2B, 0x6B: 0x2B, +0x4C: 0x2C, 0x6C: 0x2C, +0x4D: 0x2D, 0x6D: 0x2D, +0x59: 0x39, 0x79: 0x39, +0x5A: 0x3A, 0x7A: 0x3A, +0x5B: 0x3B, 0x7B: 0x3B, +0x5C: 0x3C, 0x7C: 0x3C, +0x5D: 0x3D, 0x7D: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); var Ptg18 = {}; var Ptg19 = { - 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, - 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, - 0xFF: {} +0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, +0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, +0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, +0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, +0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, +0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, +0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, +0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, +0xFF: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); - blob.read_shift(1); - var chn = blob.read_shift(4); + if(opts.biff != 2) { + blob.read_shift(1); + if(opts.biff >= 5) { + var chn = blob.read_shift(4); + } + } var cbf = ""; - if(opts.biff === 5) blob.l += length-20; + if(opts.biff < 5) blob.l += length-16; + else if(opts.biff === 5) blob.l += length-20; else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -5780,6 +6019,7 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } + return []; } /* 2.5.198.103 */ @@ -6127,971 +6367,971 @@ function parse_XLSBCellParsedFormula(data, length) { } /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { - 0x1: "REFERENCE", // reference to range - 0x2: "VALUE", // single value - 0x3: "ARRAY" // array of values +0x1: "REFERENCE", // reference to range +0x2: "VALUE", // single value +0x3: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { - 0x0000: 'BEEP', - 0x0001: 'OPEN', - 0x0002: 'OPEN.LINKS', - 0x0003: 'CLOSE.ALL', - 0x0004: 'SAVE', - 0x0005: 'SAVE.AS', - 0x0006: 'FILE.DELETE', - 0x0007: 'PAGE.SETUP', - 0x0008: 'PRINT', - 0x0009: 'PRINTER.SETUP', - 0x000A: 'QUIT', - 0x000B: 'NEW.WINDOW', - 0x000C: 'ARRANGE.ALL', - 0x000D: 'WINDOW.SIZE', - 0x000E: 'WINDOW.MOVE', - 0x000F: 'FULL', - 0x0010: 'CLOSE', - 0x0011: 'RUN', - 0x0016: 'SET.PRINT.AREA', - 0x0017: 'SET.PRINT.TITLES', - 0x0018: 'SET.PAGE.BREAK', - 0x0019: 'REMOVE.PAGE.BREAK', - 0x001A: 'FONT', - 0x001B: 'DISPLAY', - 0x001C: 'PROTECT.DOCUMENT', - 0x001D: 'PRECISION', - 0x001E: 'A1.R1C1', - 0x001F: 'CALCULATE.NOW', - 0x0020: 'CALCULATION', - 0x0022: 'DATA.FIND', - 0x0023: 'EXTRACT', - 0x0024: 'DATA.DELETE', - 0x0025: 'SET.DATABASE', - 0x0026: 'SET.CRITERIA', - 0x0027: 'SORT', - 0x0028: 'DATA.SERIES', - 0x0029: 'TABLE', - 0x002A: 'FORMAT.NUMBER', - 0x002B: 'ALIGNMENT', - 0x002C: 'STYLE', - 0x002D: 'BORDER', - 0x002E: 'CELL.PROTECTION', - 0x002F: 'COLUMN.WIDTH', - 0x0030: 'UNDO', - 0x0031: 'CUT', - 0x0032: 'COPY', - 0x0033: 'PASTE', - 0x0034: 'CLEAR', - 0x0035: 'PASTE.SPECIAL', - 0x0036: 'EDIT.DELETE', - 0x0037: 'INSERT', - 0x0038: 'FILL.RIGHT', - 0x0039: 'FILL.DOWN', - 0x003D: 'DEFINE.NAME', - 0x003E: 'CREATE.NAMES', - 0x003F: 'FORMULA.GOTO', - 0x0040: 'FORMULA.FIND', - 0x0041: 'SELECT.LAST.CELL', - 0x0042: 'SHOW.ACTIVE.CELL', - 0x0043: 'GALLERY.AREA', - 0x0044: 'GALLERY.BAR', - 0x0045: 'GALLERY.COLUMN', - 0x0046: 'GALLERY.LINE', - 0x0047: 'GALLERY.PIE', - 0x0048: 'GALLERY.SCATTER', - 0x0049: 'COMBINATION', - 0x004A: 'PREFERRED', - 0x004B: 'ADD.OVERLAY', - 0x004C: 'GRIDLINES', - 0x004D: 'SET.PREFERRED', - 0x004E: 'AXES', - 0x004F: 'LEGEND', - 0x0050: 'ATTACH.TEXT', - 0x0051: 'ADD.ARROW', - 0x0052: 'SELECT.CHART', - 0x0053: 'SELECT.PLOT.AREA', - 0x0054: 'PATTERNS', - 0x0055: 'MAIN.CHART', - 0x0056: 'OVERLAY', - 0x0057: 'SCALE', - 0x0058: 'FORMAT.LEGEND', - 0x0059: 'FORMAT.TEXT', - 0x005A: 'EDIT.REPEAT', - 0x005B: 'PARSE', - 0x005C: 'JUSTIFY', - 0x005D: 'HIDE', - 0x005E: 'UNHIDE', - 0x005F: 'WORKSPACE', - 0x0060: 'FORMULA', - 0x0061: 'FORMULA.FILL', - 0x0062: 'FORMULA.ARRAY', - 0x0063: 'DATA.FIND.NEXT', - 0x0064: 'DATA.FIND.PREV', - 0x0065: 'FORMULA.FIND.NEXT', - 0x0066: 'FORMULA.FIND.PREV', - 0x0067: 'ACTIVATE', - 0x0068: 'ACTIVATE.NEXT', - 0x0069: 'ACTIVATE.PREV', - 0x006A: 'UNLOCKED.NEXT', - 0x006B: 'UNLOCKED.PREV', - 0x006C: 'COPY.PICTURE', - 0x006D: 'SELECT', - 0x006E: 'DELETE.NAME', - 0x006F: 'DELETE.FORMAT', - 0x0070: 'VLINE', - 0x0071: 'HLINE', - 0x0072: 'VPAGE', - 0x0073: 'HPAGE', - 0x0074: 'VSCROLL', - 0x0075: 'HSCROLL', - 0x0076: 'ALERT', - 0x0077: 'NEW', - 0x0078: 'CANCEL.COPY', - 0x0079: 'SHOW.CLIPBOARD', - 0x007A: 'MESSAGE', - 0x007C: 'PASTE.LINK', - 0x007D: 'APP.ACTIVATE', - 0x007E: 'DELETE.ARROW', - 0x007F: 'ROW.HEIGHT', - 0x0080: 'FORMAT.MOVE', - 0x0081: 'FORMAT.SIZE', - 0x0082: 'FORMULA.REPLACE', - 0x0083: 'SEND.KEYS', - 0x0084: 'SELECT.SPECIAL', - 0x0085: 'APPLY.NAMES', - 0x0086: 'REPLACE.FONT', - 0x0087: 'FREEZE.PANES', - 0x0088: 'SHOW.INFO', - 0x0089: 'SPLIT', - 0x008A: 'ON.WINDOW', - 0x008B: 'ON.DATA', - 0x008C: 'DISABLE.INPUT', - 0x008E: 'OUTLINE', - 0x008F: 'LIST.NAMES', - 0x0090: 'FILE.CLOSE', - 0x0091: 'SAVE.WORKBOOK', - 0x0092: 'DATA.FORM', - 0x0093: 'COPY.CHART', - 0x0094: 'ON.TIME', - 0x0095: 'WAIT', - 0x0096: 'FORMAT.FONT', - 0x0097: 'FILL.UP', - 0x0098: 'FILL.LEFT', - 0x0099: 'DELETE.OVERLAY', - 0x009B: 'SHORT.MENUS', - 0x009F: 'SET.UPDATE.STATUS', - 0x00A1: 'COLOR.PALETTE', - 0x00A2: 'DELETE.STYLE', - 0x00A3: 'WINDOW.RESTORE', - 0x00A4: 'WINDOW.MAXIMIZE', - 0x00A6: 'CHANGE.LINK', - 0x00A7: 'CALCULATE.DOCUMENT', - 0x00A8: 'ON.KEY', - 0x00A9: 'APP.RESTORE', - 0x00AA: 'APP.MOVE', - 0x00AB: 'APP.SIZE', - 0x00AC: 'APP.MINIMIZE', - 0x00AD: 'APP.MAXIMIZE', - 0x00AE: 'BRING.TO.FRONT', - 0x00AF: 'SEND.TO.BACK', - 0x00B9: 'MAIN.CHART.TYPE', - 0x00BA: 'OVERLAY.CHART.TYPE', - 0x00BB: 'SELECT.END', - 0x00BC: 'OPEN.MAIL', - 0x00BD: 'SEND.MAIL', - 0x00BE: 'STANDARD.FONT', - 0x00BF: 'CONSOLIDATE', - 0x00C0: 'SORT.SPECIAL', - 0x00C1: 'GALLERY.3D.AREA', - 0x00C2: 'GALLERY.3D.COLUMN', - 0x00C3: 'GALLERY.3D.LINE', - 0x00C4: 'GALLERY.3D.PIE', - 0x00C5: 'VIEW.3D', - 0x00C6: 'GOAL.SEEK', - 0x00C7: 'WORKGROUP', - 0x00C8: 'FILL.GROUP', - 0x00C9: 'UPDATE.LINK', - 0x00CA: 'PROMOTE', - 0x00CB: 'DEMOTE', - 0x00CC: 'SHOW.DETAIL', - 0x00CE: 'UNGROUP', - 0x00CF: 'OBJECT.PROPERTIES', - 0x00D0: 'SAVE.NEW.OBJECT', - 0x00D1: 'SHARE', - 0x00D2: 'SHARE.NAME', - 0x00D3: 'DUPLICATE', - 0x00D4: 'APPLY.STYLE', - 0x00D5: 'ASSIGN.TO.OBJECT', - 0x00D6: 'OBJECT.PROTECTION', - 0x00D7: 'HIDE.OBJECT', - 0x00D8: 'SET.EXTRACT', - 0x00D9: 'CREATE.PUBLISHER', - 0x00DA: 'SUBSCRIBE.TO', - 0x00DB: 'ATTRIBUTES', - 0x00DC: 'SHOW.TOOLBAR', - 0x00DE: 'PRINT.PREVIEW', - 0x00DF: 'EDIT.COLOR', - 0x00E0: 'SHOW.LEVELS', - 0x00E1: 'FORMAT.MAIN', - 0x00E2: 'FORMAT.OVERLAY', - 0x00E3: 'ON.RECALC', - 0x00E4: 'EDIT.SERIES', - 0x00E5: 'DEFINE.STYLE', - 0x00F0: 'LINE.PRINT', - 0x00F3: 'ENTER.DATA', - 0x00F9: 'GALLERY.RADAR', - 0x00FA: 'MERGE.STYLES', - 0x00FB: 'EDITION.OPTIONS', - 0x00FC: 'PASTE.PICTURE', - 0x00FD: 'PASTE.PICTURE.LINK', - 0x00FE: 'SPELLING', - 0x0100: 'ZOOM', - 0x0103: 'INSERT.OBJECT', - 0x0104: 'WINDOW.MINIMIZE', - 0x0109: 'SOUND.NOTE', - 0x010A: 'SOUND.PLAY', - 0x010B: 'FORMAT.SHAPE', - 0x010C: 'EXTEND.POLYGON', - 0x010D: 'FORMAT.AUTO', - 0x0110: 'GALLERY.3D.BAR', - 0x0111: 'GALLERY.3D.SURFACE', - 0x0112: 'FILL.AUTO', - 0x0114: 'CUSTOMIZE.TOOLBAR', - 0x0115: 'ADD.TOOL', - 0x0116: 'EDIT.OBJECT', - 0x0117: 'ON.DOUBLECLICK', - 0x0118: 'ON.ENTRY', - 0x0119: 'WORKBOOK.ADD', - 0x011A: 'WORKBOOK.MOVE', - 0x011B: 'WORKBOOK.COPY', - 0x011C: 'WORKBOOK.OPTIONS', - 0x011D: 'SAVE.WORKSPACE', - 0x0120: 'CHART.WIZARD', - 0x0121: 'DELETE.TOOL', - 0x0122: 'MOVE.TOOL', - 0x0123: 'WORKBOOK.SELECT', - 0x0124: 'WORKBOOK.ACTIVATE', - 0x0125: 'ASSIGN.TO.TOOL', - 0x0127: 'COPY.TOOL', - 0x0128: 'RESET.TOOL', - 0x0129: 'CONSTRAIN.NUMERIC', - 0x012A: 'PASTE.TOOL', - 0x012E: 'WORKBOOK.NEW', - 0x0131: 'SCENARIO.CELLS', - 0x0132: 'SCENARIO.DELETE', - 0x0133: 'SCENARIO.ADD', - 0x0134: 'SCENARIO.EDIT', - 0x0135: 'SCENARIO.SHOW', - 0x0136: 'SCENARIO.SHOW.NEXT', - 0x0137: 'SCENARIO.SUMMARY', - 0x0138: 'PIVOT.TABLE.WIZARD', - 0x0139: 'PIVOT.FIELD.PROPERTIES', - 0x013A: 'PIVOT.FIELD', - 0x013B: 'PIVOT.ITEM', - 0x013C: 'PIVOT.ADD.FIELDS', - 0x013E: 'OPTIONS.CALCULATION', - 0x013F: 'OPTIONS.EDIT', - 0x0140: 'OPTIONS.VIEW', - 0x0141: 'ADDIN.MANAGER', - 0x0142: 'MENU.EDITOR', - 0x0143: 'ATTACH.TOOLBARS', - 0x0144: 'VBAActivate', - 0x0145: 'OPTIONS.CHART', - 0x0148: 'VBA.INSERT.FILE', - 0x014A: 'VBA.PROCEDURE.DEFINITION', - 0x0150: 'ROUTING.SLIP', - 0x0152: 'ROUTE.DOCUMENT', - 0x0153: 'MAIL.LOGON', - 0x0156: 'INSERT.PICTURE', - 0x0157: 'EDIT.TOOL', - 0x0158: 'GALLERY.DOUGHNUT', - 0x015E: 'CHART.TREND', - 0x0160: 'PIVOT.ITEM.PROPERTIES', - 0x0162: 'WORKBOOK.INSERT', - 0x0163: 'OPTIONS.TRANSITION', - 0x0164: 'OPTIONS.GENERAL', - 0x0172: 'FILTER.ADVANCED', - 0x0175: 'MAIL.ADD.MAILER', - 0x0176: 'MAIL.DELETE.MAILER', - 0x0177: 'MAIL.REPLY', - 0x0178: 'MAIL.REPLY.ALL', - 0x0179: 'MAIL.FORWARD', - 0x017A: 'MAIL.NEXT.LETTER', - 0x017B: 'DATA.LABEL', - 0x017C: 'INSERT.TITLE', - 0x017D: 'FONT.PROPERTIES', - 0x017E: 'MACRO.OPTIONS', - 0x017F: 'WORKBOOK.HIDE', - 0x0180: 'WORKBOOK.UNHIDE', - 0x0181: 'WORKBOOK.DELETE', - 0x0182: 'WORKBOOK.NAME', - 0x0184: 'GALLERY.CUSTOM', - 0x0186: 'ADD.CHART.AUTOFORMAT', - 0x0187: 'DELETE.CHART.AUTOFORMAT', - 0x0188: 'CHART.ADD.DATA', - 0x0189: 'AUTO.OUTLINE', - 0x018A: 'TAB.ORDER', - 0x018B: 'SHOW.DIALOG', - 0x018C: 'SELECT.ALL', - 0x018D: 'UNGROUP.SHEETS', - 0x018E: 'SUBTOTAL.CREATE', - 0x018F: 'SUBTOTAL.REMOVE', - 0x0190: 'RENAME.OBJECT', - 0x019C: 'WORKBOOK.SCROLL', - 0x019D: 'WORKBOOK.NEXT', - 0x019E: 'WORKBOOK.PREV', - 0x019F: 'WORKBOOK.TAB.SPLIT', - 0x01A0: 'FULL.SCREEN', - 0x01A1: 'WORKBOOK.PROTECT', - 0x01A4: 'SCROLLBAR.PROPERTIES', - 0x01A5: 'PIVOT.SHOW.PAGES', - 0x01A6: 'TEXT.TO.COLUMNS', - 0x01A7: 'FORMAT.CHARTTYPE', - 0x01A8: 'LINK.FORMAT', - 0x01A9: 'TRACER.DISPLAY', - 0x01AE: 'TRACER.NAVIGATE', - 0x01AF: 'TRACER.CLEAR', - 0x01B0: 'TRACER.ERROR', - 0x01B1: 'PIVOT.FIELD.GROUP', - 0x01B2: 'PIVOT.FIELD.UNGROUP', - 0x01B3: 'CHECKBOX.PROPERTIES', - 0x01B4: 'LABEL.PROPERTIES', - 0x01B5: 'LISTBOX.PROPERTIES', - 0x01B6: 'EDITBOX.PROPERTIES', - 0x01B7: 'PIVOT.REFRESH', - 0x01B8: 'LINK.COMBO', - 0x01B9: 'OPEN.TEXT', - 0x01BA: 'HIDE.DIALOG', - 0x01BB: 'SET.DIALOG.FOCUS', - 0x01BC: 'ENABLE.OBJECT', - 0x01BD: 'PUSHBUTTON.PROPERTIES', - 0x01BE: 'SET.DIALOG.DEFAULT', - 0x01BF: 'FILTER', - 0x01C0: 'FILTER.SHOW.ALL', - 0x01C1: 'CLEAR.OUTLINE', - 0x01C2: 'FUNCTION.WIZARD', - 0x01C3: 'ADD.LIST.ITEM', - 0x01C4: 'SET.LIST.ITEM', - 0x01C5: 'REMOVE.LIST.ITEM', - 0x01C6: 'SELECT.LIST.ITEM', - 0x01C7: 'SET.CONTROL.VALUE', - 0x01C8: 'SAVE.COPY.AS', - 0x01CA: 'OPTIONS.LISTS.ADD', - 0x01CB: 'OPTIONS.LISTS.DELETE', - 0x01CC: 'SERIES.AXES', - 0x01CD: 'SERIES.X', - 0x01CE: 'SERIES.Y', - 0x01CF: 'ERRORBAR.X', - 0x01D0: 'ERRORBAR.Y', - 0x01D1: 'FORMAT.CHART', - 0x01D2: 'SERIES.ORDER', - 0x01D3: 'MAIL.LOGOFF', - 0x01D4: 'CLEAR.ROUTING.SLIP', - 0x01D5: 'APP.ACTIVATE.MICROSOFT', - 0x01D6: 'MAIL.EDIT.MAILER', - 0x01D7: 'ON.SHEET', - 0x01D8: 'STANDARD.WIDTH', - 0x01D9: 'SCENARIO.MERGE', - 0x01DA: 'SUMMARY.INFO', - 0x01DB: 'FIND.FILE', - 0x01DC: 'ACTIVE.CELL.FONT', - 0x01DD: 'ENABLE.TIPWIZARD', - 0x01DE: 'VBA.MAKE.ADDIN', - 0x01E0: 'INSERTDATATABLE', - 0x01E1: 'WORKGROUP.OPTIONS', - 0x01E2: 'MAIL.SEND.MAILER', - 0x01E5: 'AUTOCORRECT', - 0x01E9: 'POST.DOCUMENT', - 0x01EB: 'PICKLIST', - 0x01ED: 'VIEW.SHOW', - 0x01EE: 'VIEW.DEFINE', - 0x01EF: 'VIEW.DELETE', - 0x01FD: 'SHEET.BACKGROUND', - 0x01FE: 'INSERT.MAP.OBJECT', - 0x01FF: 'OPTIONS.MENONO', - 0x0205: 'MSOCHECKS', - 0x0206: 'NORMAL', - 0x0207: 'LAYOUT', - 0x0208: 'RM.PRINT.AREA', - 0x0209: 'CLEAR.PRINT.AREA', - 0x020A: 'ADD.PRINT.AREA', - 0x020B: 'MOVE.BRK', - 0x0221: 'HIDECURR.NOTE', - 0x0222: 'HIDEALL.NOTES', - 0x0223: 'DELETE.NOTE', - 0x0224: 'TRAVERSE.NOTES', - 0x0225: 'ACTIVATE.NOTES', - 0x026C: 'PROTECT.REVISIONS', - 0x026D: 'UNPROTECT.REVISIONS', - 0x0287: 'OPTIONS.ME', - 0x028D: 'WEB.PUBLISH', - 0x029B: 'NEWWEBQUERY', - 0x02A1: 'PIVOT.TABLE.CHART', - 0x02F1: 'OPTIONS.SAVE', - 0x02F3: 'OPTIONS.SPELL', - 0x0328: 'HIDEALL.INKANNOTS' +0x0000: 'BEEP', +0x0001: 'OPEN', +0x0002: 'OPEN.LINKS', +0x0003: 'CLOSE.ALL', +0x0004: 'SAVE', +0x0005: 'SAVE.AS', +0x0006: 'FILE.DELETE', +0x0007: 'PAGE.SETUP', +0x0008: 'PRINT', +0x0009: 'PRINTER.SETUP', +0x000A: 'QUIT', +0x000B: 'NEW.WINDOW', +0x000C: 'ARRANGE.ALL', +0x000D: 'WINDOW.SIZE', +0x000E: 'WINDOW.MOVE', +0x000F: 'FULL', +0x0010: 'CLOSE', +0x0011: 'RUN', +0x0016: 'SET.PRINT.AREA', +0x0017: 'SET.PRINT.TITLES', +0x0018: 'SET.PAGE.BREAK', +0x0019: 'REMOVE.PAGE.BREAK', +0x001A: 'FONT', +0x001B: 'DISPLAY', +0x001C: 'PROTECT.DOCUMENT', +0x001D: 'PRECISION', +0x001E: 'A1.R1C1', +0x001F: 'CALCULATE.NOW', +0x0020: 'CALCULATION', +0x0022: 'DATA.FIND', +0x0023: 'EXTRACT', +0x0024: 'DATA.DELETE', +0x0025: 'SET.DATABASE', +0x0026: 'SET.CRITERIA', +0x0027: 'SORT', +0x0028: 'DATA.SERIES', +0x0029: 'TABLE', +0x002A: 'FORMAT.NUMBER', +0x002B: 'ALIGNMENT', +0x002C: 'STYLE', +0x002D: 'BORDER', +0x002E: 'CELL.PROTECTION', +0x002F: 'COLUMN.WIDTH', +0x0030: 'UNDO', +0x0031: 'CUT', +0x0032: 'COPY', +0x0033: 'PASTE', +0x0034: 'CLEAR', +0x0035: 'PASTE.SPECIAL', +0x0036: 'EDIT.DELETE', +0x0037: 'INSERT', +0x0038: 'FILL.RIGHT', +0x0039: 'FILL.DOWN', +0x003D: 'DEFINE.NAME', +0x003E: 'CREATE.NAMES', +0x003F: 'FORMULA.GOTO', +0x0040: 'FORMULA.FIND', +0x0041: 'SELECT.LAST.CELL', +0x0042: 'SHOW.ACTIVE.CELL', +0x0043: 'GALLERY.AREA', +0x0044: 'GALLERY.BAR', +0x0045: 'GALLERY.COLUMN', +0x0046: 'GALLERY.LINE', +0x0047: 'GALLERY.PIE', +0x0048: 'GALLERY.SCATTER', +0x0049: 'COMBINATION', +0x004A: 'PREFERRED', +0x004B: 'ADD.OVERLAY', +0x004C: 'GRIDLINES', +0x004D: 'SET.PREFERRED', +0x004E: 'AXES', +0x004F: 'LEGEND', +0x0050: 'ATTACH.TEXT', +0x0051: 'ADD.ARROW', +0x0052: 'SELECT.CHART', +0x0053: 'SELECT.PLOT.AREA', +0x0054: 'PATTERNS', +0x0055: 'MAIN.CHART', +0x0056: 'OVERLAY', +0x0057: 'SCALE', +0x0058: 'FORMAT.LEGEND', +0x0059: 'FORMAT.TEXT', +0x005A: 'EDIT.REPEAT', +0x005B: 'PARSE', +0x005C: 'JUSTIFY', +0x005D: 'HIDE', +0x005E: 'UNHIDE', +0x005F: 'WORKSPACE', +0x0060: 'FORMULA', +0x0061: 'FORMULA.FILL', +0x0062: 'FORMULA.ARRAY', +0x0063: 'DATA.FIND.NEXT', +0x0064: 'DATA.FIND.PREV', +0x0065: 'FORMULA.FIND.NEXT', +0x0066: 'FORMULA.FIND.PREV', +0x0067: 'ACTIVATE', +0x0068: 'ACTIVATE.NEXT', +0x0069: 'ACTIVATE.PREV', +0x006A: 'UNLOCKED.NEXT', +0x006B: 'UNLOCKED.PREV', +0x006C: 'COPY.PICTURE', +0x006D: 'SELECT', +0x006E: 'DELETE.NAME', +0x006F: 'DELETE.FORMAT', +0x0070: 'VLINE', +0x0071: 'HLINE', +0x0072: 'VPAGE', +0x0073: 'HPAGE', +0x0074: 'VSCROLL', +0x0075: 'HSCROLL', +0x0076: 'ALERT', +0x0077: 'NEW', +0x0078: 'CANCEL.COPY', +0x0079: 'SHOW.CLIPBOARD', +0x007A: 'MESSAGE', +0x007C: 'PASTE.LINK', +0x007D: 'APP.ACTIVATE', +0x007E: 'DELETE.ARROW', +0x007F: 'ROW.HEIGHT', +0x0080: 'FORMAT.MOVE', +0x0081: 'FORMAT.SIZE', +0x0082: 'FORMULA.REPLACE', +0x0083: 'SEND.KEYS', +0x0084: 'SELECT.SPECIAL', +0x0085: 'APPLY.NAMES', +0x0086: 'REPLACE.FONT', +0x0087: 'FREEZE.PANES', +0x0088: 'SHOW.INFO', +0x0089: 'SPLIT', +0x008A: 'ON.WINDOW', +0x008B: 'ON.DATA', +0x008C: 'DISABLE.INPUT', +0x008E: 'OUTLINE', +0x008F: 'LIST.NAMES', +0x0090: 'FILE.CLOSE', +0x0091: 'SAVE.WORKBOOK', +0x0092: 'DATA.FORM', +0x0093: 'COPY.CHART', +0x0094: 'ON.TIME', +0x0095: 'WAIT', +0x0096: 'FORMAT.FONT', +0x0097: 'FILL.UP', +0x0098: 'FILL.LEFT', +0x0099: 'DELETE.OVERLAY', +0x009B: 'SHORT.MENUS', +0x009F: 'SET.UPDATE.STATUS', +0x00A1: 'COLOR.PALETTE', +0x00A2: 'DELETE.STYLE', +0x00A3: 'WINDOW.RESTORE', +0x00A4: 'WINDOW.MAXIMIZE', +0x00A6: 'CHANGE.LINK', +0x00A7: 'CALCULATE.DOCUMENT', +0x00A8: 'ON.KEY', +0x00A9: 'APP.RESTORE', +0x00AA: 'APP.MOVE', +0x00AB: 'APP.SIZE', +0x00AC: 'APP.MINIMIZE', +0x00AD: 'APP.MAXIMIZE', +0x00AE: 'BRING.TO.FRONT', +0x00AF: 'SEND.TO.BACK', +0x00B9: 'MAIN.CHART.TYPE', +0x00BA: 'OVERLAY.CHART.TYPE', +0x00BB: 'SELECT.END', +0x00BC: 'OPEN.MAIL', +0x00BD: 'SEND.MAIL', +0x00BE: 'STANDARD.FONT', +0x00BF: 'CONSOLIDATE', +0x00C0: 'SORT.SPECIAL', +0x00C1: 'GALLERY.3D.AREA', +0x00C2: 'GALLERY.3D.COLUMN', +0x00C3: 'GALLERY.3D.LINE', +0x00C4: 'GALLERY.3D.PIE', +0x00C5: 'VIEW.3D', +0x00C6: 'GOAL.SEEK', +0x00C7: 'WORKGROUP', +0x00C8: 'FILL.GROUP', +0x00C9: 'UPDATE.LINK', +0x00CA: 'PROMOTE', +0x00CB: 'DEMOTE', +0x00CC: 'SHOW.DETAIL', +0x00CE: 'UNGROUP', +0x00CF: 'OBJECT.PROPERTIES', +0x00D0: 'SAVE.NEW.OBJECT', +0x00D1: 'SHARE', +0x00D2: 'SHARE.NAME', +0x00D3: 'DUPLICATE', +0x00D4: 'APPLY.STYLE', +0x00D5: 'ASSIGN.TO.OBJECT', +0x00D6: 'OBJECT.PROTECTION', +0x00D7: 'HIDE.OBJECT', +0x00D8: 'SET.EXTRACT', +0x00D9: 'CREATE.PUBLISHER', +0x00DA: 'SUBSCRIBE.TO', +0x00DB: 'ATTRIBUTES', +0x00DC: 'SHOW.TOOLBAR', +0x00DE: 'PRINT.PREVIEW', +0x00DF: 'EDIT.COLOR', +0x00E0: 'SHOW.LEVELS', +0x00E1: 'FORMAT.MAIN', +0x00E2: 'FORMAT.OVERLAY', +0x00E3: 'ON.RECALC', +0x00E4: 'EDIT.SERIES', +0x00E5: 'DEFINE.STYLE', +0x00F0: 'LINE.PRINT', +0x00F3: 'ENTER.DATA', +0x00F9: 'GALLERY.RADAR', +0x00FA: 'MERGE.STYLES', +0x00FB: 'EDITION.OPTIONS', +0x00FC: 'PASTE.PICTURE', +0x00FD: 'PASTE.PICTURE.LINK', +0x00FE: 'SPELLING', +0x0100: 'ZOOM', +0x0103: 'INSERT.OBJECT', +0x0104: 'WINDOW.MINIMIZE', +0x0109: 'SOUND.NOTE', +0x010A: 'SOUND.PLAY', +0x010B: 'FORMAT.SHAPE', +0x010C: 'EXTEND.POLYGON', +0x010D: 'FORMAT.AUTO', +0x0110: 'GALLERY.3D.BAR', +0x0111: 'GALLERY.3D.SURFACE', +0x0112: 'FILL.AUTO', +0x0114: 'CUSTOMIZE.TOOLBAR', +0x0115: 'ADD.TOOL', +0x0116: 'EDIT.OBJECT', +0x0117: 'ON.DOUBLECLICK', +0x0118: 'ON.ENTRY', +0x0119: 'WORKBOOK.ADD', +0x011A: 'WORKBOOK.MOVE', +0x011B: 'WORKBOOK.COPY', +0x011C: 'WORKBOOK.OPTIONS', +0x011D: 'SAVE.WORKSPACE', +0x0120: 'CHART.WIZARD', +0x0121: 'DELETE.TOOL', +0x0122: 'MOVE.TOOL', +0x0123: 'WORKBOOK.SELECT', +0x0124: 'WORKBOOK.ACTIVATE', +0x0125: 'ASSIGN.TO.TOOL', +0x0127: 'COPY.TOOL', +0x0128: 'RESET.TOOL', +0x0129: 'CONSTRAIN.NUMERIC', +0x012A: 'PASTE.TOOL', +0x012E: 'WORKBOOK.NEW', +0x0131: 'SCENARIO.CELLS', +0x0132: 'SCENARIO.DELETE', +0x0133: 'SCENARIO.ADD', +0x0134: 'SCENARIO.EDIT', +0x0135: 'SCENARIO.SHOW', +0x0136: 'SCENARIO.SHOW.NEXT', +0x0137: 'SCENARIO.SUMMARY', +0x0138: 'PIVOT.TABLE.WIZARD', +0x0139: 'PIVOT.FIELD.PROPERTIES', +0x013A: 'PIVOT.FIELD', +0x013B: 'PIVOT.ITEM', +0x013C: 'PIVOT.ADD.FIELDS', +0x013E: 'OPTIONS.CALCULATION', +0x013F: 'OPTIONS.EDIT', +0x0140: 'OPTIONS.VIEW', +0x0141: 'ADDIN.MANAGER', +0x0142: 'MENU.EDITOR', +0x0143: 'ATTACH.TOOLBARS', +0x0144: 'VBAActivate', +0x0145: 'OPTIONS.CHART', +0x0148: 'VBA.INSERT.FILE', +0x014A: 'VBA.PROCEDURE.DEFINITION', +0x0150: 'ROUTING.SLIP', +0x0152: 'ROUTE.DOCUMENT', +0x0153: 'MAIL.LOGON', +0x0156: 'INSERT.PICTURE', +0x0157: 'EDIT.TOOL', +0x0158: 'GALLERY.DOUGHNUT', +0x015E: 'CHART.TREND', +0x0160: 'PIVOT.ITEM.PROPERTIES', +0x0162: 'WORKBOOK.INSERT', +0x0163: 'OPTIONS.TRANSITION', +0x0164: 'OPTIONS.GENERAL', +0x0172: 'FILTER.ADVANCED', +0x0175: 'MAIL.ADD.MAILER', +0x0176: 'MAIL.DELETE.MAILER', +0x0177: 'MAIL.REPLY', +0x0178: 'MAIL.REPLY.ALL', +0x0179: 'MAIL.FORWARD', +0x017A: 'MAIL.NEXT.LETTER', +0x017B: 'DATA.LABEL', +0x017C: 'INSERT.TITLE', +0x017D: 'FONT.PROPERTIES', +0x017E: 'MACRO.OPTIONS', +0x017F: 'WORKBOOK.HIDE', +0x0180: 'WORKBOOK.UNHIDE', +0x0181: 'WORKBOOK.DELETE', +0x0182: 'WORKBOOK.NAME', +0x0184: 'GALLERY.CUSTOM', +0x0186: 'ADD.CHART.AUTOFORMAT', +0x0187: 'DELETE.CHART.AUTOFORMAT', +0x0188: 'CHART.ADD.DATA', +0x0189: 'AUTO.OUTLINE', +0x018A: 'TAB.ORDER', +0x018B: 'SHOW.DIALOG', +0x018C: 'SELECT.ALL', +0x018D: 'UNGROUP.SHEETS', +0x018E: 'SUBTOTAL.CREATE', +0x018F: 'SUBTOTAL.REMOVE', +0x0190: 'RENAME.OBJECT', +0x019C: 'WORKBOOK.SCROLL', +0x019D: 'WORKBOOK.NEXT', +0x019E: 'WORKBOOK.PREV', +0x019F: 'WORKBOOK.TAB.SPLIT', +0x01A0: 'FULL.SCREEN', +0x01A1: 'WORKBOOK.PROTECT', +0x01A4: 'SCROLLBAR.PROPERTIES', +0x01A5: 'PIVOT.SHOW.PAGES', +0x01A6: 'TEXT.TO.COLUMNS', +0x01A7: 'FORMAT.CHARTTYPE', +0x01A8: 'LINK.FORMAT', +0x01A9: 'TRACER.DISPLAY', +0x01AE: 'TRACER.NAVIGATE', +0x01AF: 'TRACER.CLEAR', +0x01B0: 'TRACER.ERROR', +0x01B1: 'PIVOT.FIELD.GROUP', +0x01B2: 'PIVOT.FIELD.UNGROUP', +0x01B3: 'CHECKBOX.PROPERTIES', +0x01B4: 'LABEL.PROPERTIES', +0x01B5: 'LISTBOX.PROPERTIES', +0x01B6: 'EDITBOX.PROPERTIES', +0x01B7: 'PIVOT.REFRESH', +0x01B8: 'LINK.COMBO', +0x01B9: 'OPEN.TEXT', +0x01BA: 'HIDE.DIALOG', +0x01BB: 'SET.DIALOG.FOCUS', +0x01BC: 'ENABLE.OBJECT', +0x01BD: 'PUSHBUTTON.PROPERTIES', +0x01BE: 'SET.DIALOG.DEFAULT', +0x01BF: 'FILTER', +0x01C0: 'FILTER.SHOW.ALL', +0x01C1: 'CLEAR.OUTLINE', +0x01C2: 'FUNCTION.WIZARD', +0x01C3: 'ADD.LIST.ITEM', +0x01C4: 'SET.LIST.ITEM', +0x01C5: 'REMOVE.LIST.ITEM', +0x01C6: 'SELECT.LIST.ITEM', +0x01C7: 'SET.CONTROL.VALUE', +0x01C8: 'SAVE.COPY.AS', +0x01CA: 'OPTIONS.LISTS.ADD', +0x01CB: 'OPTIONS.LISTS.DELETE', +0x01CC: 'SERIES.AXES', +0x01CD: 'SERIES.X', +0x01CE: 'SERIES.Y', +0x01CF: 'ERRORBAR.X', +0x01D0: 'ERRORBAR.Y', +0x01D1: 'FORMAT.CHART', +0x01D2: 'SERIES.ORDER', +0x01D3: 'MAIL.LOGOFF', +0x01D4: 'CLEAR.ROUTING.SLIP', +0x01D5: 'APP.ACTIVATE.MICROSOFT', +0x01D6: 'MAIL.EDIT.MAILER', +0x01D7: 'ON.SHEET', +0x01D8: 'STANDARD.WIDTH', +0x01D9: 'SCENARIO.MERGE', +0x01DA: 'SUMMARY.INFO', +0x01DB: 'FIND.FILE', +0x01DC: 'ACTIVE.CELL.FONT', +0x01DD: 'ENABLE.TIPWIZARD', +0x01DE: 'VBA.MAKE.ADDIN', +0x01E0: 'INSERTDATATABLE', +0x01E1: 'WORKGROUP.OPTIONS', +0x01E2: 'MAIL.SEND.MAILER', +0x01E5: 'AUTOCORRECT', +0x01E9: 'POST.DOCUMENT', +0x01EB: 'PICKLIST', +0x01ED: 'VIEW.SHOW', +0x01EE: 'VIEW.DEFINE', +0x01EF: 'VIEW.DELETE', +0x01FD: 'SHEET.BACKGROUND', +0x01FE: 'INSERT.MAP.OBJECT', +0x01FF: 'OPTIONS.MENONO', +0x0205: 'MSOCHECKS', +0x0206: 'NORMAL', +0x0207: 'LAYOUT', +0x0208: 'RM.PRINT.AREA', +0x0209: 'CLEAR.PRINT.AREA', +0x020A: 'ADD.PRINT.AREA', +0x020B: 'MOVE.BRK', +0x0221: 'HIDECURR.NOTE', +0x0222: 'HIDEALL.NOTES', +0x0223: 'DELETE.NOTE', +0x0224: 'TRAVERSE.NOTES', +0x0225: 'ACTIVATE.NOTES', +0x026C: 'PROTECT.REVISIONS', +0x026D: 'UNPROTECT.REVISIONS', +0x0287: 'OPTIONS.ME', +0x028D: 'WEB.PUBLISH', +0x029B: 'NEWWEBQUERY', +0x02A1: 'PIVOT.TABLE.CHART', +0x02F1: 'OPTIONS.SAVE', +0x02F3: 'OPTIONS.SPELL', +0x0328: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ var Ftab = { - 0x0000: 'COUNT', - 0x0001: 'IF', - 0x0002: 'ISNA', - 0x0003: 'ISERROR', - 0x0004: 'SUM', - 0x0005: 'AVERAGE', - 0x0006: 'MIN', - 0x0007: 'MAX', - 0x0008: 'ROW', - 0x0009: 'COLUMN', - 0x000A: 'NA', - 0x000B: 'NPV', - 0x000C: 'STDEV', - 0x000D: 'DOLLAR', - 0x000E: 'FIXED', - 0x000F: 'SIN', - 0x0010: 'COS', - 0x0011: 'TAN', - 0x0012: 'ATAN', - 0x0013: 'PI', - 0x0014: 'SQRT', - 0x0015: 'EXP', - 0x0016: 'LN', - 0x0017: 'LOG10', - 0x0018: 'ABS', - 0x0019: 'INT', - 0x001A: 'SIGN', - 0x001B: 'ROUND', - 0x001C: 'LOOKUP', - 0x001D: 'INDEX', - 0x001E: 'REPT', - 0x001F: 'MID', - 0x0020: 'LEN', - 0x0021: 'VALUE', - 0x0022: 'TRUE', - 0x0023: 'FALSE', - 0x0024: 'AND', - 0x0025: 'OR', - 0x0026: 'NOT', - 0x0027: 'MOD', - 0x0028: 'DCOUNT', - 0x0029: 'DSUM', - 0x002A: 'DAVERAGE', - 0x002B: 'DMIN', - 0x002C: 'DMAX', - 0x002D: 'DSTDEV', - 0x002E: 'VAR', - 0x002F: 'DVAR', - 0x0030: 'TEXT', - 0x0031: 'LINEST', - 0x0032: 'TREND', - 0x0033: 'LOGEST', - 0x0034: 'GROWTH', - 0x0035: 'GOTO', - 0x0036: 'HALT', - 0x0037: 'RETURN', - 0x0038: 'PV', - 0x0039: 'FV', - 0x003A: 'NPER', - 0x003B: 'PMT', - 0x003C: 'RATE', - 0x003D: 'MIRR', - 0x003E: 'IRR', - 0x003F: 'RAND', - 0x0040: 'MATCH', - 0x0041: 'DATE', - 0x0042: 'TIME', - 0x0043: 'DAY', - 0x0044: 'MONTH', - 0x0045: 'YEAR', - 0x0046: 'WEEKDAY', - 0x0047: 'HOUR', - 0x0048: 'MINUTE', - 0x0049: 'SECOND', - 0x004A: 'NOW', - 0x004B: 'AREAS', - 0x004C: 'ROWS', - 0x004D: 'COLUMNS', - 0x004E: 'OFFSET', - 0x004F: 'ABSREF', - 0x0050: 'RELREF', - 0x0051: 'ARGUMENT', - 0x0052: 'SEARCH', - 0x0053: 'TRANSPOSE', - 0x0054: 'ERROR', - 0x0055: 'STEP', - 0x0056: 'TYPE', - 0x0057: 'ECHO', - 0x0058: 'SET.NAME', - 0x0059: 'CALLER', - 0x005A: 'DEREF', - 0x005B: 'WINDOWS', - 0x005C: 'SERIES', - 0x005D: 'DOCUMENTS', - 0x005E: 'ACTIVE.CELL', - 0x005F: 'SELECTION', - 0x0060: 'RESULT', - 0x0061: 'ATAN2', - 0x0062: 'ASIN', - 0x0063: 'ACOS', - 0x0064: 'CHOOSE', - 0x0065: 'HLOOKUP', - 0x0066: 'VLOOKUP', - 0x0067: 'LINKS', - 0x0068: 'INPUT', - 0x0069: 'ISREF', - 0x006A: 'GET.FORMULA', - 0x006B: 'GET.NAME', - 0x006C: 'SET.VALUE', - 0x006D: 'LOG', - 0x006E: 'EXEC', - 0x006F: 'CHAR', - 0x0070: 'LOWER', - 0x0071: 'UPPER', - 0x0072: 'PROPER', - 0x0073: 'LEFT', - 0x0074: 'RIGHT', - 0x0075: 'EXACT', - 0x0076: 'TRIM', - 0x0077: 'REPLACE', - 0x0078: 'SUBSTITUTE', - 0x0079: 'CODE', - 0x007A: 'NAMES', - 0x007B: 'DIRECTORY', - 0x007C: 'FIND', - 0x007D: 'CELL', - 0x007E: 'ISERR', - 0x007F: 'ISTEXT', - 0x0080: 'ISNUMBER', - 0x0081: 'ISBLANK', - 0x0082: 'T', - 0x0083: 'N', - 0x0084: 'FOPEN', - 0x0085: 'FCLOSE', - 0x0086: 'FSIZE', - 0x0087: 'FREADLN', - 0x0088: 'FREAD', - 0x0089: 'FWRITELN', - 0x008A: 'FWRITE', - 0x008B: 'FPOS', - 0x008C: 'DATEVALUE', - 0x008D: 'TIMEVALUE', - 0x008E: 'SLN', - 0x008F: 'SYD', - 0x0090: 'DDB', - 0x0091: 'GET.DEF', - 0x0092: 'REFTEXT', - 0x0093: 'TEXTREF', - 0x0094: 'INDIRECT', - 0x0095: 'REGISTER', - 0x0096: 'CALL', - 0x0097: 'ADD.BAR', - 0x0098: 'ADD.MENU', - 0x0099: 'ADD.COMMAND', - 0x009A: 'ENABLE.COMMAND', - 0x009B: 'CHECK.COMMAND', - 0x009C: 'RENAME.COMMAND', - 0x009D: 'SHOW.BAR', - 0x009E: 'DELETE.MENU', - 0x009F: 'DELETE.COMMAND', - 0x00A0: 'GET.CHART.ITEM', - 0x00A1: 'DIALOG.BOX', - 0x00A2: 'CLEAN', - 0x00A3: 'MDETERM', - 0x00A4: 'MINVERSE', - 0x00A5: 'MMULT', - 0x00A6: 'FILES', - 0x00A7: 'IPMT', - 0x00A8: 'PPMT', - 0x00A9: 'COUNTA', - 0x00AA: 'CANCEL.KEY', - 0x00AB: 'FOR', - 0x00AC: 'WHILE', - 0x00AD: 'BREAK', - 0x00AE: 'NEXT', - 0x00AF: 'INITIATE', - 0x00B0: 'REQUEST', - 0x00B1: 'POKE', - 0x00B2: 'EXECUTE', - 0x00B3: 'TERMINATE', - 0x00B4: 'RESTART', - 0x00B5: 'HELP', - 0x00B6: 'GET.BAR', - 0x00B7: 'PRODUCT', - 0x00B8: 'FACT', - 0x00B9: 'GET.CELL', - 0x00BA: 'GET.WORKSPACE', - 0x00BB: 'GET.WINDOW', - 0x00BC: 'GET.DOCUMENT', - 0x00BD: 'DPRODUCT', - 0x00BE: 'ISNONTEXT', - 0x00BF: 'GET.NOTE', - 0x00C0: 'NOTE', - 0x00C1: 'STDEVP', - 0x00C2: 'VARP', - 0x00C3: 'DSTDEVP', - 0x00C4: 'DVARP', - 0x00C5: 'TRUNC', - 0x00C6: 'ISLOGICAL', - 0x00C7: 'DCOUNTA', - 0x00C8: 'DELETE.BAR', - 0x00C9: 'UNREGISTER', - 0x00CC: 'USDOLLAR', - 0x00CD: 'FINDB', - 0x00CE: 'SEARCHB', - 0x00CF: 'REPLACEB', - 0x00D0: 'LEFTB', - 0x00D1: 'RIGHTB', - 0x00D2: 'MIDB', - 0x00D3: 'LENB', - 0x00D4: 'ROUNDUP', - 0x00D5: 'ROUNDDOWN', - 0x00D6: 'ASC', - 0x00D7: 'DBCS', - 0x00D8: 'RANK', - 0x00DB: 'ADDRESS', - 0x00DC: 'DAYS360', - 0x00DD: 'TODAY', - 0x00DE: 'VDB', - 0x00DF: 'ELSE', - 0x00E0: 'ELSE.IF', - 0x00E1: 'END.IF', - 0x00E2: 'FOR.CELL', - 0x00E3: 'MEDIAN', - 0x00E4: 'SUMPRODUCT', - 0x00E5: 'SINH', - 0x00E6: 'COSH', - 0x00E7: 'TANH', - 0x00E8: 'ASINH', - 0x00E9: 'ACOSH', - 0x00EA: 'ATANH', - 0x00EB: 'DGET', - 0x00EC: 'CREATE.OBJECT', - 0x00ED: 'VOLATILE', - 0x00EE: 'LAST.ERROR', - 0x00EF: 'CUSTOM.UNDO', - 0x00F0: 'CUSTOM.REPEAT', - 0x00F1: 'FORMULA.CONVERT', - 0x00F2: 'GET.LINK.INFO', - 0x00F3: 'TEXT.BOX', - 0x00F4: 'INFO', - 0x00F5: 'GROUP', - 0x00F6: 'GET.OBJECT', - 0x00F7: 'DB', - 0x00F8: 'PAUSE', - 0x00FB: 'RESUME', - 0x00FC: 'FREQUENCY', - 0x00FD: 'ADD.TOOLBAR', - 0x00FE: 'DELETE.TOOLBAR', - 0x00FF: 'User', - 0x0100: 'RESET.TOOLBAR', - 0x0101: 'EVALUATE', - 0x0102: 'GET.TOOLBAR', - 0x0103: 'GET.TOOL', - 0x0104: 'SPELLING.CHECK', - 0x0105: 'ERROR.TYPE', - 0x0106: 'APP.TITLE', - 0x0107: 'WINDOW.TITLE', - 0x0108: 'SAVE.TOOLBAR', - 0x0109: 'ENABLE.TOOL', - 0x010A: 'PRESS.TOOL', - 0x010B: 'REGISTER.ID', - 0x010C: 'GET.WORKBOOK', - 0x010D: 'AVEDEV', - 0x010E: 'BETADIST', - 0x010F: 'GAMMALN', - 0x0110: 'BETAINV', - 0x0111: 'BINOMDIST', - 0x0112: 'CHIDIST', - 0x0113: 'CHIINV', - 0x0114: 'COMBIN', - 0x0115: 'CONFIDENCE', - 0x0116: 'CRITBINOM', - 0x0117: 'EVEN', - 0x0118: 'EXPONDIST', - 0x0119: 'FDIST', - 0x011A: 'FINV', - 0x011B: 'FISHER', - 0x011C: 'FISHERINV', - 0x011D: 'FLOOR', - 0x011E: 'GAMMADIST', - 0x011F: 'GAMMAINV', - 0x0120: 'CEILING', - 0x0121: 'HYPGEOMDIST', - 0x0122: 'LOGNORMDIST', - 0x0123: 'LOGINV', - 0x0124: 'NEGBINOMDIST', - 0x0125: 'NORMDIST', - 0x0126: 'NORMSDIST', - 0x0127: 'NORMINV', - 0x0128: 'NORMSINV', - 0x0129: 'STANDARDIZE', - 0x012A: 'ODD', - 0x012B: 'PERMUT', - 0x012C: 'POISSON', - 0x012D: 'TDIST', - 0x012E: 'WEIBULL', - 0x012F: 'SUMXMY2', - 0x0130: 'SUMX2MY2', - 0x0131: 'SUMX2PY2', - 0x0132: 'CHITEST', - 0x0133: 'CORREL', - 0x0134: 'COVAR', - 0x0135: 'FORECAST', - 0x0136: 'FTEST', - 0x0137: 'INTERCEPT', - 0x0138: 'PEARSON', - 0x0139: 'RSQ', - 0x013A: 'STEYX', - 0x013B: 'SLOPE', - 0x013C: 'TTEST', - 0x013D: 'PROB', - 0x013E: 'DEVSQ', - 0x013F: 'GEOMEAN', - 0x0140: 'HARMEAN', - 0x0141: 'SUMSQ', - 0x0142: 'KURT', - 0x0143: 'SKEW', - 0x0144: 'ZTEST', - 0x0145: 'LARGE', - 0x0146: 'SMALL', - 0x0147: 'QUARTILE', - 0x0148: 'PERCENTILE', - 0x0149: 'PERCENTRANK', - 0x014A: 'MODE', - 0x014B: 'TRIMMEAN', - 0x014C: 'TINV', - 0x014E: 'MOVIE.COMMAND', - 0x014F: 'GET.MOVIE', - 0x0150: 'CONCATENATE', - 0x0151: 'POWER', - 0x0152: 'PIVOT.ADD.DATA', - 0x0153: 'GET.PIVOT.TABLE', - 0x0154: 'GET.PIVOT.FIELD', - 0x0155: 'GET.PIVOT.ITEM', - 0x0156: 'RADIANS', - 0x0157: 'DEGREES', - 0x0158: 'SUBTOTAL', - 0x0159: 'SUMIF', - 0x015A: 'COUNTIF', - 0x015B: 'COUNTBLANK', - 0x015C: 'SCENARIO.GET', - 0x015D: 'OPTIONS.LISTS.GET', - 0x015E: 'ISPMT', - 0x015F: 'DATEDIF', - 0x0160: 'DATESTRING', - 0x0161: 'NUMBERSTRING', - 0x0162: 'ROMAN', - 0x0163: 'OPEN.DIALOG', - 0x0164: 'SAVE.DIALOG', - 0x0165: 'VIEW.GET', - 0x0166: 'GETPIVOTDATA', - 0x0167: 'HYPERLINK', - 0x0168: 'PHONETIC', - 0x0169: 'AVERAGEA', - 0x016A: 'MAXA', - 0x016B: 'MINA', - 0x016C: 'STDEVPA', - 0x016D: 'VARPA', - 0x016E: 'STDEVA', - 0x016F: 'VARA', - 0x0170: 'BAHTTEXT', - 0x0171: 'THAIDAYOFWEEK', - 0x0172: 'THAIDIGIT', - 0x0173: 'THAIMONTHOFYEAR', - 0x0174: 'THAINUMSOUND', - 0x0175: 'THAINUMSTRING', - 0x0176: 'THAISTRINGLENGTH', - 0x0177: 'ISTHAIDIGIT', - 0x0178: 'ROUNDBAHTDOWN', - 0x0179: 'ROUNDBAHTUP', - 0x017A: 'THAIYEAR', - 0x017B: 'RTD' +0x0000: 'COUNT', +0x0001: 'IF', +0x0002: 'ISNA', +0x0003: 'ISERROR', +0x0004: 'SUM', +0x0005: 'AVERAGE', +0x0006: 'MIN', +0x0007: 'MAX', +0x0008: 'ROW', +0x0009: 'COLUMN', +0x000A: 'NA', +0x000B: 'NPV', +0x000C: 'STDEV', +0x000D: 'DOLLAR', +0x000E: 'FIXED', +0x000F: 'SIN', +0x0010: 'COS', +0x0011: 'TAN', +0x0012: 'ATAN', +0x0013: 'PI', +0x0014: 'SQRT', +0x0015: 'EXP', +0x0016: 'LN', +0x0017: 'LOG10', +0x0018: 'ABS', +0x0019: 'INT', +0x001A: 'SIGN', +0x001B: 'ROUND', +0x001C: 'LOOKUP', +0x001D: 'INDEX', +0x001E: 'REPT', +0x001F: 'MID', +0x0020: 'LEN', +0x0021: 'VALUE', +0x0022: 'TRUE', +0x0023: 'FALSE', +0x0024: 'AND', +0x0025: 'OR', +0x0026: 'NOT', +0x0027: 'MOD', +0x0028: 'DCOUNT', +0x0029: 'DSUM', +0x002A: 'DAVERAGE', +0x002B: 'DMIN', +0x002C: 'DMAX', +0x002D: 'DSTDEV', +0x002E: 'VAR', +0x002F: 'DVAR', +0x0030: 'TEXT', +0x0031: 'LINEST', +0x0032: 'TREND', +0x0033: 'LOGEST', +0x0034: 'GROWTH', +0x0035: 'GOTO', +0x0036: 'HALT', +0x0037: 'RETURN', +0x0038: 'PV', +0x0039: 'FV', +0x003A: 'NPER', +0x003B: 'PMT', +0x003C: 'RATE', +0x003D: 'MIRR', +0x003E: 'IRR', +0x003F: 'RAND', +0x0040: 'MATCH', +0x0041: 'DATE', +0x0042: 'TIME', +0x0043: 'DAY', +0x0044: 'MONTH', +0x0045: 'YEAR', +0x0046: 'WEEKDAY', +0x0047: 'HOUR', +0x0048: 'MINUTE', +0x0049: 'SECOND', +0x004A: 'NOW', +0x004B: 'AREAS', +0x004C: 'ROWS', +0x004D: 'COLUMNS', +0x004E: 'OFFSET', +0x004F: 'ABSREF', +0x0050: 'RELREF', +0x0051: 'ARGUMENT', +0x0052: 'SEARCH', +0x0053: 'TRANSPOSE', +0x0054: 'ERROR', +0x0055: 'STEP', +0x0056: 'TYPE', +0x0057: 'ECHO', +0x0058: 'SET.NAME', +0x0059: 'CALLER', +0x005A: 'DEREF', +0x005B: 'WINDOWS', +0x005C: 'SERIES', +0x005D: 'DOCUMENTS', +0x005E: 'ACTIVE.CELL', +0x005F: 'SELECTION', +0x0060: 'RESULT', +0x0061: 'ATAN2', +0x0062: 'ASIN', +0x0063: 'ACOS', +0x0064: 'CHOOSE', +0x0065: 'HLOOKUP', +0x0066: 'VLOOKUP', +0x0067: 'LINKS', +0x0068: 'INPUT', +0x0069: 'ISREF', +0x006A: 'GET.FORMULA', +0x006B: 'GET.NAME', +0x006C: 'SET.VALUE', +0x006D: 'LOG', +0x006E: 'EXEC', +0x006F: 'CHAR', +0x0070: 'LOWER', +0x0071: 'UPPER', +0x0072: 'PROPER', +0x0073: 'LEFT', +0x0074: 'RIGHT', +0x0075: 'EXACT', +0x0076: 'TRIM', +0x0077: 'REPLACE', +0x0078: 'SUBSTITUTE', +0x0079: 'CODE', +0x007A: 'NAMES', +0x007B: 'DIRECTORY', +0x007C: 'FIND', +0x007D: 'CELL', +0x007E: 'ISERR', +0x007F: 'ISTEXT', +0x0080: 'ISNUMBER', +0x0081: 'ISBLANK', +0x0082: 'T', +0x0083: 'N', +0x0084: 'FOPEN', +0x0085: 'FCLOSE', +0x0086: 'FSIZE', +0x0087: 'FREADLN', +0x0088: 'FREAD', +0x0089: 'FWRITELN', +0x008A: 'FWRITE', +0x008B: 'FPOS', +0x008C: 'DATEVALUE', +0x008D: 'TIMEVALUE', +0x008E: 'SLN', +0x008F: 'SYD', +0x0090: 'DDB', +0x0091: 'GET.DEF', +0x0092: 'REFTEXT', +0x0093: 'TEXTREF', +0x0094: 'INDIRECT', +0x0095: 'REGISTER', +0x0096: 'CALL', +0x0097: 'ADD.BAR', +0x0098: 'ADD.MENU', +0x0099: 'ADD.COMMAND', +0x009A: 'ENABLE.COMMAND', +0x009B: 'CHECK.COMMAND', +0x009C: 'RENAME.COMMAND', +0x009D: 'SHOW.BAR', +0x009E: 'DELETE.MENU', +0x009F: 'DELETE.COMMAND', +0x00A0: 'GET.CHART.ITEM', +0x00A1: 'DIALOG.BOX', +0x00A2: 'CLEAN', +0x00A3: 'MDETERM', +0x00A4: 'MINVERSE', +0x00A5: 'MMULT', +0x00A6: 'FILES', +0x00A7: 'IPMT', +0x00A8: 'PPMT', +0x00A9: 'COUNTA', +0x00AA: 'CANCEL.KEY', +0x00AB: 'FOR', +0x00AC: 'WHILE', +0x00AD: 'BREAK', +0x00AE: 'NEXT', +0x00AF: 'INITIATE', +0x00B0: 'REQUEST', +0x00B1: 'POKE', +0x00B2: 'EXECUTE', +0x00B3: 'TERMINATE', +0x00B4: 'RESTART', +0x00B5: 'HELP', +0x00B6: 'GET.BAR', +0x00B7: 'PRODUCT', +0x00B8: 'FACT', +0x00B9: 'GET.CELL', +0x00BA: 'GET.WORKSPACE', +0x00BB: 'GET.WINDOW', +0x00BC: 'GET.DOCUMENT', +0x00BD: 'DPRODUCT', +0x00BE: 'ISNONTEXT', +0x00BF: 'GET.NOTE', +0x00C0: 'NOTE', +0x00C1: 'STDEVP', +0x00C2: 'VARP', +0x00C3: 'DSTDEVP', +0x00C4: 'DVARP', +0x00C5: 'TRUNC', +0x00C6: 'ISLOGICAL', +0x00C7: 'DCOUNTA', +0x00C8: 'DELETE.BAR', +0x00C9: 'UNREGISTER', +0x00CC: 'USDOLLAR', +0x00CD: 'FINDB', +0x00CE: 'SEARCHB', +0x00CF: 'REPLACEB', +0x00D0: 'LEFTB', +0x00D1: 'RIGHTB', +0x00D2: 'MIDB', +0x00D3: 'LENB', +0x00D4: 'ROUNDUP', +0x00D5: 'ROUNDDOWN', +0x00D6: 'ASC', +0x00D7: 'DBCS', +0x00D8: 'RANK', +0x00DB: 'ADDRESS', +0x00DC: 'DAYS360', +0x00DD: 'TODAY', +0x00DE: 'VDB', +0x00DF: 'ELSE', +0x00E0: 'ELSE.IF', +0x00E1: 'END.IF', +0x00E2: 'FOR.CELL', +0x00E3: 'MEDIAN', +0x00E4: 'SUMPRODUCT', +0x00E5: 'SINH', +0x00E6: 'COSH', +0x00E7: 'TANH', +0x00E8: 'ASINH', +0x00E9: 'ACOSH', +0x00EA: 'ATANH', +0x00EB: 'DGET', +0x00EC: 'CREATE.OBJECT', +0x00ED: 'VOLATILE', +0x00EE: 'LAST.ERROR', +0x00EF: 'CUSTOM.UNDO', +0x00F0: 'CUSTOM.REPEAT', +0x00F1: 'FORMULA.CONVERT', +0x00F2: 'GET.LINK.INFO', +0x00F3: 'TEXT.BOX', +0x00F4: 'INFO', +0x00F5: 'GROUP', +0x00F6: 'GET.OBJECT', +0x00F7: 'DB', +0x00F8: 'PAUSE', +0x00FB: 'RESUME', +0x00FC: 'FREQUENCY', +0x00FD: 'ADD.TOOLBAR', +0x00FE: 'DELETE.TOOLBAR', +0x00FF: 'User', +0x0100: 'RESET.TOOLBAR', +0x0101: 'EVALUATE', +0x0102: 'GET.TOOLBAR', +0x0103: 'GET.TOOL', +0x0104: 'SPELLING.CHECK', +0x0105: 'ERROR.TYPE', +0x0106: 'APP.TITLE', +0x0107: 'WINDOW.TITLE', +0x0108: 'SAVE.TOOLBAR', +0x0109: 'ENABLE.TOOL', +0x010A: 'PRESS.TOOL', +0x010B: 'REGISTER.ID', +0x010C: 'GET.WORKBOOK', +0x010D: 'AVEDEV', +0x010E: 'BETADIST', +0x010F: 'GAMMALN', +0x0110: 'BETAINV', +0x0111: 'BINOMDIST', +0x0112: 'CHIDIST', +0x0113: 'CHIINV', +0x0114: 'COMBIN', +0x0115: 'CONFIDENCE', +0x0116: 'CRITBINOM', +0x0117: 'EVEN', +0x0118: 'EXPONDIST', +0x0119: 'FDIST', +0x011A: 'FINV', +0x011B: 'FISHER', +0x011C: 'FISHERINV', +0x011D: 'FLOOR', +0x011E: 'GAMMADIST', +0x011F: 'GAMMAINV', +0x0120: 'CEILING', +0x0121: 'HYPGEOMDIST', +0x0122: 'LOGNORMDIST', +0x0123: 'LOGINV', +0x0124: 'NEGBINOMDIST', +0x0125: 'NORMDIST', +0x0126: 'NORMSDIST', +0x0127: 'NORMINV', +0x0128: 'NORMSINV', +0x0129: 'STANDARDIZE', +0x012A: 'ODD', +0x012B: 'PERMUT', +0x012C: 'POISSON', +0x012D: 'TDIST', +0x012E: 'WEIBULL', +0x012F: 'SUMXMY2', +0x0130: 'SUMX2MY2', +0x0131: 'SUMX2PY2', +0x0132: 'CHITEST', +0x0133: 'CORREL', +0x0134: 'COVAR', +0x0135: 'FORECAST', +0x0136: 'FTEST', +0x0137: 'INTERCEPT', +0x0138: 'PEARSON', +0x0139: 'RSQ', +0x013A: 'STEYX', +0x013B: 'SLOPE', +0x013C: 'TTEST', +0x013D: 'PROB', +0x013E: 'DEVSQ', +0x013F: 'GEOMEAN', +0x0140: 'HARMEAN', +0x0141: 'SUMSQ', +0x0142: 'KURT', +0x0143: 'SKEW', +0x0144: 'ZTEST', +0x0145: 'LARGE', +0x0146: 'SMALL', +0x0147: 'QUARTILE', +0x0148: 'PERCENTILE', +0x0149: 'PERCENTRANK', +0x014A: 'MODE', +0x014B: 'TRIMMEAN', +0x014C: 'TINV', +0x014E: 'MOVIE.COMMAND', +0x014F: 'GET.MOVIE', +0x0150: 'CONCATENATE', +0x0151: 'POWER', +0x0152: 'PIVOT.ADD.DATA', +0x0153: 'GET.PIVOT.TABLE', +0x0154: 'GET.PIVOT.FIELD', +0x0155: 'GET.PIVOT.ITEM', +0x0156: 'RADIANS', +0x0157: 'DEGREES', +0x0158: 'SUBTOTAL', +0x0159: 'SUMIF', +0x015A: 'COUNTIF', +0x015B: 'COUNTBLANK', +0x015C: 'SCENARIO.GET', +0x015D: 'OPTIONS.LISTS.GET', +0x015E: 'ISPMT', +0x015F: 'DATEDIF', +0x0160: 'DATESTRING', +0x0161: 'NUMBERSTRING', +0x0162: 'ROMAN', +0x0163: 'OPEN.DIALOG', +0x0164: 'SAVE.DIALOG', +0x0165: 'VIEW.GET', +0x0166: 'GETPIVOTDATA', +0x0167: 'HYPERLINK', +0x0168: 'PHONETIC', +0x0169: 'AVERAGEA', +0x016A: 'MAXA', +0x016B: 'MINA', +0x016C: 'STDEVPA', +0x016D: 'VARPA', +0x016E: 'STDEVA', +0x016F: 'VARA', +0x0170: 'BAHTTEXT', +0x0171: 'THAIDAYOFWEEK', +0x0172: 'THAIDIGIT', +0x0173: 'THAIMONTHOFYEAR', +0x0174: 'THAINUMSOUND', +0x0175: 'THAINUMSTRING', +0x0176: 'THAISTRINGLENGTH', +0x0177: 'ISTHAIDIGIT', +0x0178: 'ROUNDBAHTDOWN', +0x0179: 'ROUNDBAHTUP', +0x017A: 'THAIYEAR', +0x017B: 'RTD' }; var FtabArgc = { - 0x0002: 1, /* ISNA */ - 0x0003: 1, /* ISERROR */ - 0x000F: 1, /* SIN */ - 0x0010: 1, /* COS */ - 0x0011: 1, /* TAN */ - 0x0012: 1, /* ATAN */ - 0x0014: 1, /* SQRT */ - 0x0015: 1, /* EXP */ - 0x0016: 1, /* LN */ - 0x0017: 1, /* LOG10 */ - 0x0018: 1, /* ABS */ - 0x0019: 1, /* INT */ - 0x001A: 1, /* SIGN */ - 0x001B: 2, /* ROUND */ - 0x001E: 2, /* REPT */ - 0x001F: 3, /* MID */ - 0x0020: 1, /* LEN */ - 0x0021: 1, /* VALUE */ - 0x0026: 1, /* NOT */ - 0x0027: 2, /* MOD */ - 0x0028: 3, /* DCOUNT */ - 0x0029: 3, /* DSUM */ - 0x002A: 3, /* DAVERAGE */ - 0x002B: 3, /* DMIN */ - 0x002C: 3, /* DMAX */ - 0x002D: 3, /* DSTDEV */ - 0x002F: 3, /* DVAR */ - 0x0030: 2, /* TEXT */ - 0x0035: 1, /* GOTO */ - 0x003D: 3, /* MIRR */ - 0x0041: 3, /* DATE */ - 0x0042: 3, /* TIME */ - 0x0043: 1, /* DAY */ - 0x0044: 1, /* MONTH */ - 0x0045: 1, /* YEAR */ - 0x0047: 1, /* HOUR */ - 0x0048: 1, /* MINUTE */ - 0x0049: 1, /* SECOND */ - 0x004B: 1, /* AREAS */ - 0x004C: 1, /* ROWS */ - 0x004D: 1, /* COLUMNS */ - 0x004F: 2, /* ABSREF */ - 0x0050: 2, /* RELREF */ - 0x0053: 1, /* TRANSPOSE */ - 0x0056: 1, /* TYPE */ - 0x005A: 1, /* DEREF */ - 0x0061: 2, /* ATAN2 */ - 0x0062: 1, /* ASIN */ - 0x0063: 1, /* ACOS */ - 0x0069: 1, /* ISREF */ - 0x006F: 1, /* CHAR */ - 0x0070: 1, /* LOWER */ - 0x0071: 1, /* UPPER */ - 0x0072: 1, /* PROPER */ - 0x0075: 2, /* EXACT */ - 0x0076: 1, /* TRIM */ - 0x0077: 4, /* REPLACE */ - 0x0079: 1, /* CODE */ - 0x007E: 1, /* ISERR */ - 0x007F: 1, /* ISTEXT */ - 0x0080: 1, /* ISNUMBER */ - 0x0081: 1, /* ISBLANK */ - 0x0082: 1, /* T */ - 0x0083: 1, /* N */ - 0x0085: 1, /* FCLOSE */ - 0x0086: 1, /* FSIZE */ - 0x0087: 1, /* FREADLN */ - 0x0088: 2, /* FREAD */ - 0x0089: 2, /* FWRITELN */ - 0x008A: 2, /* FWRITE */ - 0x008C: 1, /* DATEVALUE */ - 0x008D: 1, /* TIMEVALUE */ - 0x008E: 3, /* SLN */ - 0x008F: 4, /* SYD */ - 0x00A2: 1, /* CLEAN */ - 0x00A3: 1, /* MDETERM */ - 0x00A4: 1, /* MINVERSE */ - 0x00A5: 2, /* MMULT */ - 0x00AC: 1, /* WHILE */ - 0x00AF: 2, /* INITIATE */ - 0x00B0: 2, /* REQUEST */ - 0x00B1: 3, /* POKE */ - 0x00B2: 2, /* EXECUTE */ - 0x00B3: 1, /* TERMINATE */ - 0x00B8: 1, /* FACT */ - 0x00BD: 3, /* DPRODUCT */ - 0x00BE: 1, /* ISNONTEXT */ - 0x00C3: 3, /* DSTDEVP */ - 0x00C4: 3, /* DVARP */ - 0x00C6: 1, /* ISLOGICAL */ - 0x00C7: 3, /* DCOUNTA */ - 0x00C9: 1, /* UNREGISTER */ - 0x00CF: 4, /* REPLACEB */ - 0x00D2: 3, /* MIDB */ - 0x00D3: 1, /* LENB */ - 0x00D4: 2, /* ROUNDUP */ - 0x00D5: 2, /* ROUNDDOWN */ - 0x00D6: 1, /* ASC */ - 0x00D7: 1, /* DBCS */ - 0x00E5: 1, /* SINH */ - 0x00E6: 1, /* COSH */ - 0x00E7: 1, /* TANH */ - 0x00E8: 1, /* ASINH */ - 0x00E9: 1, /* ACOSH */ - 0x00EA: 1, /* ATANH */ - 0x00EB: 3, /* DGET */ - 0x00F4: 1, /* INFO */ - 0x00FC: 2, /* FREQUENCY */ - 0x0101: 1, /* EVALUATE */ - 0x0105: 1, /* ERROR.TYPE */ - 0x010F: 1, /* GAMMALN */ - 0x0111: 4, /* BINOMDIST */ - 0x0112: 2, /* CHIDIST */ - 0x0113: 2, /* CHIINV */ - 0x0114: 2, /* COMBIN */ - 0x0115: 3, /* CONFIDENCE */ - 0x0116: 3, /* CRITBINOM */ - 0x0117: 1, /* EVEN */ - 0x0118: 3, /* EXPONDIST */ - 0x0119: 3, /* FDIST */ - 0x011A: 3, /* FINV */ - 0x011B: 1, /* FISHER */ - 0x011C: 1, /* FISHERINV */ - 0x011D: 2, /* FLOOR */ - 0x011E: 4, /* GAMMADIST */ - 0x011F: 3, /* GAMMAINV */ - 0x0120: 2, /* CEILING */ - 0x0121: 4, /* HYPGEOMDIST */ - 0x0122: 3, /* LOGNORMDIST */ - 0x0123: 3, /* LOGINV */ - 0x0124: 3, /* NEGBINOMDIST */ - 0x0125: 4, /* NORMDIST */ - 0x0126: 1, /* NORMSDIST */ - 0x0127: 3, /* NORMINV */ - 0x0128: 1, /* NORMSINV */ - 0x0129: 3, /* STANDARDIZE */ - 0x012A: 1, /* ODD */ - 0x012B: 2, /* PERMUT */ - 0x012C: 3, /* POISSON */ - 0x012D: 3, /* TDIST */ - 0x012E: 4, /* WEIBULL */ - 0x012F: 2, /* SUMXMY2 */ - 0x0130: 2, /* SUMX2MY2 */ - 0x0131: 2, /* SUMX2PY2 */ - 0x0132: 2, /* CHITEST */ - 0x0133: 2, /* CORREL */ - 0x0134: 2, /* COVAR */ - 0x0135: 3, /* FORECAST */ - 0x0136: 2, /* FTEST */ - 0x0137: 2, /* INTERCEPT */ - 0x0138: 2, /* PEARSON */ - 0x0139: 2, /* RSQ */ - 0x013A: 2, /* STEYX */ - 0x013B: 2, /* SLOPE */ - 0x013C: 4, /* TTEST */ - 0x0145: 2, /* LARGE */ - 0x0146: 2, /* SMALL */ - 0x0147: 2, /* QUARTILE */ - 0x0148: 2, /* PERCENTILE */ - 0x014B: 2, /* TRIMMEAN */ - 0x014C: 2, /* TINV */ - 0x0151: 2, /* POWER */ - 0x0156: 1, /* RADIANS */ - 0x0157: 1, /* DEGREES */ - 0x015A: 2, /* COUNTIF */ - 0x015B: 1, /* COUNTBLANK */ - 0x015E: 4, /* ISPMT */ - 0x015F: 3, /* DATEDIF */ - 0x0160: 1, /* DATESTRING */ - 0x0161: 2, /* NUMBERSTRING */ - 0x0168: 1, /* PHONETIC */ - 0x0170: 1, /* BAHTTEXT */ - 0x0171: 1, /* THAIDAYOFWEEK */ - 0x0172: 1, /* THAIDIGIT */ - 0x0173: 1, /* THAIMONTHOFYEAR */ - 0x0174: 1, /* THAINUMSOUND */ - 0x0175: 1, /* THAINUMSTRING */ - 0x0176: 1, /* THAISTRINGLENGTH */ - 0x0177: 1, /* ISTHAIDIGIT */ - 0x0178: 1, /* ROUNDBAHTDOWN */ - 0x0179: 1, /* ROUNDBAHTUP */ - 0x017A: 1, /* THAIYEAR */ - 0xFFFF: 0 +0x0002: 1, /* ISNA */ +0x0003: 1, /* ISERROR */ +0x000F: 1, /* SIN */ +0x0010: 1, /* COS */ +0x0011: 1, /* TAN */ +0x0012: 1, /* ATAN */ +0x0014: 1, /* SQRT */ +0x0015: 1, /* EXP */ +0x0016: 1, /* LN */ +0x0017: 1, /* LOG10 */ +0x0018: 1, /* ABS */ +0x0019: 1, /* INT */ +0x001A: 1, /* SIGN */ +0x001B: 2, /* ROUND */ +0x001E: 2, /* REPT */ +0x001F: 3, /* MID */ +0x0020: 1, /* LEN */ +0x0021: 1, /* VALUE */ +0x0026: 1, /* NOT */ +0x0027: 2, /* MOD */ +0x0028: 3, /* DCOUNT */ +0x0029: 3, /* DSUM */ +0x002A: 3, /* DAVERAGE */ +0x002B: 3, /* DMIN */ +0x002C: 3, /* DMAX */ +0x002D: 3, /* DSTDEV */ +0x002F: 3, /* DVAR */ +0x0030: 2, /* TEXT */ +0x0035: 1, /* GOTO */ +0x003D: 3, /* MIRR */ +0x0041: 3, /* DATE */ +0x0042: 3, /* TIME */ +0x0043: 1, /* DAY */ +0x0044: 1, /* MONTH */ +0x0045: 1, /* YEAR */ +0x0047: 1, /* HOUR */ +0x0048: 1, /* MINUTE */ +0x0049: 1, /* SECOND */ +0x004B: 1, /* AREAS */ +0x004C: 1, /* ROWS */ +0x004D: 1, /* COLUMNS */ +0x004F: 2, /* ABSREF */ +0x0050: 2, /* RELREF */ +0x0053: 1, /* TRANSPOSE */ +0x0056: 1, /* TYPE */ +0x005A: 1, /* DEREF */ +0x0061: 2, /* ATAN2 */ +0x0062: 1, /* ASIN */ +0x0063: 1, /* ACOS */ +0x0069: 1, /* ISREF */ +0x006F: 1, /* CHAR */ +0x0070: 1, /* LOWER */ +0x0071: 1, /* UPPER */ +0x0072: 1, /* PROPER */ +0x0075: 2, /* EXACT */ +0x0076: 1, /* TRIM */ +0x0077: 4, /* REPLACE */ +0x0079: 1, /* CODE */ +0x007E: 1, /* ISERR */ +0x007F: 1, /* ISTEXT */ +0x0080: 1, /* ISNUMBER */ +0x0081: 1, /* ISBLANK */ +0x0082: 1, /* T */ +0x0083: 1, /* N */ +0x0085: 1, /* FCLOSE */ +0x0086: 1, /* FSIZE */ +0x0087: 1, /* FREADLN */ +0x0088: 2, /* FREAD */ +0x0089: 2, /* FWRITELN */ +0x008A: 2, /* FWRITE */ +0x008C: 1, /* DATEVALUE */ +0x008D: 1, /* TIMEVALUE */ +0x008E: 3, /* SLN */ +0x008F: 4, /* SYD */ +0x00A2: 1, /* CLEAN */ +0x00A3: 1, /* MDETERM */ +0x00A4: 1, /* MINVERSE */ +0x00A5: 2, /* MMULT */ +0x00AC: 1, /* WHILE */ +0x00AF: 2, /* INITIATE */ +0x00B0: 2, /* REQUEST */ +0x00B1: 3, /* POKE */ +0x00B2: 2, /* EXECUTE */ +0x00B3: 1, /* TERMINATE */ +0x00B8: 1, /* FACT */ +0x00BD: 3, /* DPRODUCT */ +0x00BE: 1, /* ISNONTEXT */ +0x00C3: 3, /* DSTDEVP */ +0x00C4: 3, /* DVARP */ +0x00C6: 1, /* ISLOGICAL */ +0x00C7: 3, /* DCOUNTA */ +0x00C9: 1, /* UNREGISTER */ +0x00CF: 4, /* REPLACEB */ +0x00D2: 3, /* MIDB */ +0x00D3: 1, /* LENB */ +0x00D4: 2, /* ROUNDUP */ +0x00D5: 2, /* ROUNDDOWN */ +0x00D6: 1, /* ASC */ +0x00D7: 1, /* DBCS */ +0x00E5: 1, /* SINH */ +0x00E6: 1, /* COSH */ +0x00E7: 1, /* TANH */ +0x00E8: 1, /* ASINH */ +0x00E9: 1, /* ACOSH */ +0x00EA: 1, /* ATANH */ +0x00EB: 3, /* DGET */ +0x00F4: 1, /* INFO */ +0x00FC: 2, /* FREQUENCY */ +0x0101: 1, /* EVALUATE */ +0x0105: 1, /* ERROR.TYPE */ +0x010F: 1, /* GAMMALN */ +0x0111: 4, /* BINOMDIST */ +0x0112: 2, /* CHIDIST */ +0x0113: 2, /* CHIINV */ +0x0114: 2, /* COMBIN */ +0x0115: 3, /* CONFIDENCE */ +0x0116: 3, /* CRITBINOM */ +0x0117: 1, /* EVEN */ +0x0118: 3, /* EXPONDIST */ +0x0119: 3, /* FDIST */ +0x011A: 3, /* FINV */ +0x011B: 1, /* FISHER */ +0x011C: 1, /* FISHERINV */ +0x011D: 2, /* FLOOR */ +0x011E: 4, /* GAMMADIST */ +0x011F: 3, /* GAMMAINV */ +0x0120: 2, /* CEILING */ +0x0121: 4, /* HYPGEOMDIST */ +0x0122: 3, /* LOGNORMDIST */ +0x0123: 3, /* LOGINV */ +0x0124: 3, /* NEGBINOMDIST */ +0x0125: 4, /* NORMDIST */ +0x0126: 1, /* NORMSDIST */ +0x0127: 3, /* NORMINV */ +0x0128: 1, /* NORMSINV */ +0x0129: 3, /* STANDARDIZE */ +0x012A: 1, /* ODD */ +0x012B: 2, /* PERMUT */ +0x012C: 3, /* POISSON */ +0x012D: 3, /* TDIST */ +0x012E: 4, /* WEIBULL */ +0x012F: 2, /* SUMXMY2 */ +0x0130: 2, /* SUMX2MY2 */ +0x0131: 2, /* SUMX2PY2 */ +0x0132: 2, /* CHITEST */ +0x0133: 2, /* CORREL */ +0x0134: 2, /* COVAR */ +0x0135: 3, /* FORECAST */ +0x0136: 2, /* FTEST */ +0x0137: 2, /* INTERCEPT */ +0x0138: 2, /* PEARSON */ +0x0139: 2, /* RSQ */ +0x013A: 2, /* STEYX */ +0x013B: 2, /* SLOPE */ +0x013C: 4, /* TTEST */ +0x0145: 2, /* LARGE */ +0x0146: 2, /* SMALL */ +0x0147: 2, /* QUARTILE */ +0x0148: 2, /* PERCENTILE */ +0x014B: 2, /* TRIMMEAN */ +0x014C: 2, /* TINV */ +0x0151: 2, /* POWER */ +0x0156: 1, /* RADIANS */ +0x0157: 1, /* DEGREES */ +0x015A: 2, /* COUNTIF */ +0x015B: 1, /* COUNTBLANK */ +0x015E: 4, /* ISPMT */ +0x015F: 3, /* DATEDIF */ +0x0160: 1, /* DATESTRING */ +0x0161: 2, /* NUMBERSTRING */ +0x0168: 1, /* PHONETIC */ +0x0170: 1, /* BAHTTEXT */ +0x0171: 1, /* THAIDAYOFWEEK */ +0x0172: 1, /* THAIDIGIT */ +0x0173: 1, /* THAIMONTHOFYEAR */ +0x0174: 1, /* THAINUMSOUND */ +0x0175: 1, /* THAINUMSTRING */ +0x0176: 1, /* THAISTRINGLENGTH */ +0x0177: 1, /* ISTHAIDIGIT */ +0x0178: 1, /* ROUNDBAHTDOWN */ +0x0179: 1, /* ROUNDBAHTUP */ +0x017A: 1, /* THAIYEAR */ +0xFFFF: 0 }; /* [MS-XLSX] 2.2.3 Functions */ var XLSXFutureFunctions = { @@ -7275,11 +7515,11 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(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); } -var mergecregex = //g; +var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /]*\/>/g; +var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /]*\/>/g; +var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ function parse_ws_xml(data, opts, rels) { if(!data) return data; @@ -7287,7 +7527,8 @@ function parse_ws_xml(data, opts, rels) { var s = {}; /* 18.3.1.35 dimension CT_SheetDimension ? */ - var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -7295,28 +7536,27 @@ function parse_ws_xml(data, opts, rels) { /* 18.3.1.55 mergeCells CT_MergeCells */ var mergecells = []; - if(data.indexOf("")!==-1) { - var merges = data.match(mergecregex); - if(merges) for(ridx = 0; ridx != merges.length; ++ridx) - mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); - } + var merges = data.match(mergecregex); + if(merges) for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles && data.indexOf("")!==-1) { + if(opts.cellStyles) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - parse_ws_xml_cols(columns, cols); + if(cols) parse_ws_xml_cols(columns, cols); } - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }); /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), rels); + var hlink = data.match(hlinkregex); + if(hlink) parse_ws_xml_hlinks(s, hlink, rels); if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -7386,7 +7626,7 @@ function write_ws_xml_cols(ws, cols) { var o = [""], col, width; for(var i = 0; i != cols.length; ++i) { if(!(col = cols[i])) continue; - var p = {min:i+1,max:i+1}; + var p = ({min:i+1,max:i+1}); /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -7416,7 +7656,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { break; default: vv = cell.v; break; } - var v = writetag('v', escapexml(vv)), o = {r:ref}; + var v = writetag('v', escapexml(vv)), o = ({r:ref}); /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -7438,7 +7678,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; - var rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/is>/; + var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { @@ -7467,7 +7707,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref !== null && cref.length === 2) { + if(cref != null && cref.length === 2) { idx = 0; d=cref[1]; for(i=0; i != d.length; ++i) { if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break; @@ -7480,10 +7720,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { tag = parsexmltag(x.substr(0,i), true); if(!tag.r) tag.r = utils.encode_cell({r:tagr-1, c:tagc}); d = x.substr(i); - p = {t:""}; + p = ({t:""}); - if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); - if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); + // $FlowIgnore + if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); + // $FlowIgnore + if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7510,7 +7752,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; + if(cref != null) { if((sstr = parse_si(cref[1]))) p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': @@ -7535,7 +7777,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { }; })(); function write_ws_xml_data(ws, opts, idx, wb) { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -7800,10 +8042,10 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; - recordhopper(data, function ws_parse(val, R) { - //console.log(R); + recordhopper(data, function ws_parse(val, Record) { + //console.log(Record); if(end) return; - switch(R.n) { + switch(Record.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; @@ -7821,7 +8063,7 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = {t:val[2]}; + p = ({t:val[2]}); switch(val[2]) { case 'n': p.v = val[1]; break; case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break; @@ -7839,7 +8081,7 @@ function parse_ws_bin(data, opts, rels) { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = {t:'s',v:undefined}; + p = ({t:'s',v:undefined}); s[encode_col(C=val[0].c) + rr] = p; if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; @@ -7975,10 +8217,10 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); - if(!s["!ref"] && (refguess.s.r < 2000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); + if(!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); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -8004,7 +8246,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts) { case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o = {r:R, c:C}; + var o = ({r:R, c:C}); /* TODO: cell style */ o.s = get_cell_style(opts.cellXfs, cell, opts); switch(cell.t) { @@ -8201,9 +8443,10 @@ function parse_wb_defaults(wb) { /* 18.2 Workbook */ var wbnsregex = /<\w+:workbook/; function parse_wb_xml(data, opts) { + if(!data) throw new Error("Could not find file"); var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, xmlns = "xmlns"; - data.match(tagregex).forEach(function xml_wb(x) { + (data.match(tagregex)||[]).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case ''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; var styles = {}, stag = {}; @@ -9250,7 +9500,7 @@ function parse_xlml_xml(d, opts) { } if(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); } - var out = {}; + var out = ({}); if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -9268,8 +9518,10 @@ function parse_xlml(data, opts) { } } -function write_xlml(wb, opts) { } - +function write_xlml(wb, opts) { + var o = [XML_HEADER]; + return o.join(""); +} /* [MS-OLEDS] 2.3.8 CompObjStream */ function parse_compobj(obj) { var v = {}; @@ -9294,7 +9546,7 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw "Unsupported Unicode Extension"; + throw new Error("Unsupported Unicode Extension"); } /* 2.4.58 Continue logic */ @@ -9317,7 +9569,7 @@ function slurp(R, blob, length, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = bconcat(bufs); + var b = (bconcat(bufs)); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } @@ -9325,10 +9577,11 @@ function slurp(R, blob, length, opts) { } function safe_format_xf(p, opts, date1904) { + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } + if(p.t === 'e'); else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -9342,12 +9595,12 @@ function safe_format_xf(p, opts, date1904) { } function make_cell(val, ixfe, t) { - return {v:val, ixfe:ixfe, t:t}; + return ({v:val, ixfe:ixfe, t:t}); } // 2.3.2 function parse_workbook(blob, options) { - var wb = {opts:{}}; + var wb = ({opts:{}}); var Sheets = {}; var out = {}; var Directory = {}; @@ -9395,7 +9648,7 @@ function parse_workbook(blob, options) { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = { + var opts = ({ enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -9407,17 +9660,18 @@ function parse_workbook(blob, options) { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }; + }); if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = [[]]; // 1-indexed, will hold extern names + var supbooks = ([[]]); // 1-indexed, will hold extern names var sbc = 0, sbci = 0, sbcli = 0; supbooks.SheetNames = opts.snames; supbooks.sharedf = opts.sharedf; supbooks.arrayf = opts.arrayf; var last_Rn = ''; var file_depth = 0; /* TODO: make a real stack */ + var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -9429,6 +9683,7 @@ function parse_workbook(blob, options) { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; + //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -9444,10 +9699,6 @@ function parse_workbook(blob, options) { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; - /* BIFF5 overrides */ - if(opts.biff === 5 || opts.biff === 2) switch(Rn) { - case 'Lbl': Rn = 'Label'; break; - } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -9525,41 +9776,48 @@ function parse_workbook(blob, options) { out = {}; } break; case 'BOF': { - if(opts.biff !== 8); + if(opts.biff !== 8){} else if(val.BIFFVer === 0x0500) opts.biff = 5; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; + else if(RecordType === 0x0009) opts.biff = 2; + else if(RecordType === 0x0209) opts.biff = 3; + else if(RecordType === 0x0409) opts.biff = 4; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff === 2) { + if(opts.biff < 5) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; + /* fake BoundSheet8 */ + var fakebs8 = {pos: blob.l - length, name:cur_sheet}; + Directory[fakebs8.pos] = fakebs8; + opts.snames.push(cur_sheet); } else cur_sheet = (Directory[s] || {name:""}).name; mergecells = []; objects = []; } break; - case 'Number': case 'BIFF2NUM': { + case 'Number': case 'BIFF2NUM': case 'BIFF2INT': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'BoolErr': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'RK': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'MulRk': { for(var j = val.c; j <= val.C; ++j) { var ixfe = val.rkrec[j-val.c][0]; temp_val= {ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -9568,10 +9826,10 @@ function parse_workbook(blob, options) { case 'String': last_formula = val; break; case 'Array Formula': throw "Array Formula unsupported"; default: - temp_val = {v:val.val, ixfe:val.cell.ixfe, t:val.tt}; + temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -9579,10 +9837,10 @@ function parse_workbook(blob, options) { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = {v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}; + temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; } @@ -9594,20 +9852,18 @@ function parse_workbook(blob, options) { if(!cell_valid) break; //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); /* TODO: capture range */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': - //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Label': case 'BIFF2STR': - /* Some writers erroneously write Label */ temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -9619,6 +9875,9 @@ function parse_workbook(blob, options) { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; + case 'BIFF2FORMAT': { + SSF.load(val, BIFF2Fmt++); + } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -9871,12 +10130,18 @@ function parse_workbook(blob, options) { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; + default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; - default: switch(R.n) { /* nested */ + /* BIFF2-4 records */ + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; + case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; + case 'Dimension': break; + /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -9885,7 +10150,7 @@ function parse_workbook(blob, options) { }}}} } else blob.l += length; } - var sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); + var sheetnamesraw = Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); var sheetnames = sheetnamesraw.slice(); wb.Directory=sheetnamesraw; wb.SheetNames=sheetnamesraw; @@ -9904,13 +10169,13 @@ if(!options) options = {}; fix_read_opts(options); reset_cp(); var CompObj, Summary, Workbook; -if(cfb.find) { +if(cfb.FullPaths) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = {content: cfb}; + Workbook = ({content: cfb}); } if(!Workbook) Workbook = cfb.find('/Book'); @@ -9923,7 +10188,7 @@ else { else throw new Error("Cannot find Workbook stream"); } -if(cfb.find) parse_props(cfb); +if(cfb.FullPaths) parse_props(cfb); var props = {}; for(var y in cfb.Summary) props[y] = cfb.Summary[y]; @@ -9947,1234 +10212,1371 @@ function parse_props(cfb) { /* [MS-XLSB] 2.3 Record Enumeration */ var XLSBRecordEnum = { - 0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, - 0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, - 0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, - 0x0003: { n:"BrtCellError", f:parse_BrtCellError }, - 0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, - 0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, - 0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, - 0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, - 0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, - 0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, - 0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, - 0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, - 0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, - 0x0013: { n:"BrtSSTItem", f:parse_RichStr }, - 0x0014: { n:"BrtPCDIMissing", f:parsenoop }, - 0x0015: { n:"BrtPCDINumber", f:parsenoop }, - 0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, - 0x0017: { n:"BrtPCDIError", f:parsenoop }, - 0x0018: { n:"BrtPCDIString", f:parsenoop }, - 0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, - 0x001A: { n:"BrtPCDIIndex", f:parsenoop }, - 0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, - 0x001C: { n:"BrtPCDIANumber", f:parsenoop }, - 0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, - 0x001E: { n:"BrtPCDIAError", f:parsenoop }, - 0x001F: { n:"BrtPCDIAString", f:parsenoop }, - 0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, - 0x0021: { n:"BrtPCRRecord", f:parsenoop }, - 0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, - 0x0023: { n:"BrtFRTBegin", f:parsenoop }, - 0x0024: { n:"BrtFRTEnd", f:parsenoop }, - 0x0025: { n:"BrtACBegin", f:parsenoop }, - 0x0026: { n:"BrtACEnd", f:parsenoop }, - 0x0027: { n:"BrtName", f:parsenoop }, - 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, - 0x002A: { n:"BrtIndexBlock", f:parsenoop }, - 0x002B: { n:"BrtFont", f:parse_BrtFont }, - 0x002C: { n:"BrtFmt", f:parse_BrtFmt }, - 0x002D: { n:"BrtFill", f:parsenoop }, - 0x002E: { n:"BrtBorder", f:parsenoop }, - 0x002F: { n:"BrtXF", f:parse_BrtXF }, - 0x0030: { n:"BrtStyle", f:parsenoop }, - 0x0031: { n:"BrtCellMeta", f:parsenoop }, - 0x0032: { n:"BrtValueMeta", f:parsenoop }, - 0x0033: { n:"BrtMdb", f:parsenoop }, - 0x0034: { n:"BrtBeginFmd", f:parsenoop }, - 0x0035: { n:"BrtEndFmd", f:parsenoop }, - 0x0036: { n:"BrtBeginMdx", f:parsenoop }, - 0x0037: { n:"BrtEndMdx", f:parsenoop }, - 0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, - 0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, - 0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, - 0x003B: { n:"BrtStr", f:parsenoop }, - 0x003C: { n:"BrtColInfo", f:parsenoop }, - 0x003E: { n:"BrtCellRString", f:parsenoop }, - 0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, - 0x0040: { n:"BrtDVal", f:parsenoop }, - 0x0041: { n:"BrtSxvcellNum", f:parsenoop }, - 0x0042: { n:"BrtSxvcellStr", f:parsenoop }, - 0x0043: { n:"BrtSxvcellBool", f:parsenoop }, - 0x0044: { n:"BrtSxvcellErr", f:parsenoop }, - 0x0045: { n:"BrtSxvcellDate", f:parsenoop }, - 0x0046: { n:"BrtSxvcellNil", f:parsenoop }, - 0x0080: { n:"BrtFileVersion", f:parsenoop }, - 0x0081: { n:"BrtBeginSheet", f:parsenoop }, - 0x0082: { n:"BrtEndSheet", f:parsenoop }, - 0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, - 0x0084: { n:"BrtEndBook", f:parsenoop }, - 0x0085: { n:"BrtBeginWsViews", f:parsenoop }, - 0x0086: { n:"BrtEndWsViews", f:parsenoop }, - 0x0087: { n:"BrtBeginBookViews", f:parsenoop }, - 0x0088: { n:"BrtEndBookViews", f:parsenoop }, - 0x0089: { n:"BrtBeginWsView", f:parsenoop }, - 0x008A: { n:"BrtEndWsView", f:parsenoop }, - 0x008B: { n:"BrtBeginCsViews", f:parsenoop }, - 0x008C: { n:"BrtEndCsViews", f:parsenoop }, - 0x008D: { n:"BrtBeginCsView", f:parsenoop }, - 0x008E: { n:"BrtEndCsView", f:parsenoop }, - 0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, - 0x0090: { n:"BrtEndBundleShs", f:parsenoop }, - 0x0091: { n:"BrtBeginSheetData", f:parsenoop }, - 0x0092: { n:"BrtEndSheetData", f:parsenoop }, - 0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, - 0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, - 0x0097: { n:"BrtPane", f:parsenoop }, - 0x0098: { n:"BrtSel", f:parsenoop }, - 0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, - 0x009A: { n:"BrtWbFactoid", f:parsenoop }, - 0x009B: { n:"BrtFileRecover", f:parsenoop }, - 0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, - 0x009D: { n:"BrtCalcProp", f:parsenoop }, - 0x009E: { n:"BrtBookView", f:parsenoop }, - 0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, - 0x00A0: { n:"BrtEndSst", f:parsenoop }, - 0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, - 0x00A2: { n:"BrtEndAFilter", f:parsenoop }, - 0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, - 0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, - 0x00A5: { n:"BrtBeginFilters", f:parsenoop }, - 0x00A6: { n:"BrtEndFilters", f:parsenoop }, - 0x00A7: { n:"BrtFilter", f:parsenoop }, - 0x00A8: { n:"BrtColorFilter", f:parsenoop }, - 0x00A9: { n:"BrtIconFilter", f:parsenoop }, - 0x00AA: { n:"BrtTop10Filter", f:parsenoop }, - 0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, - 0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, - 0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, - 0x00AE: { n:"BrtCustomFilter", f:parsenoop }, - 0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, - 0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, - 0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, - 0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, - 0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, - 0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, - 0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, - 0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, - 0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, - 0x00B8: { n:"BrtEndPCDField", f:parsenoop }, - 0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, - 0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, - 0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, - 0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, - 0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, - 0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, - 0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, - 0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, - 0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, - 0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, - 0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, - 0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, - 0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, - 0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, - 0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, - 0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, - 0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, - 0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, - 0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, - 0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, - 0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, - 0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, - 0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, - 0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, - 0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, - 0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, - 0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, - 0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, - 0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, - 0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, - 0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, - 0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, - 0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, - 0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, - 0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, - 0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, - 0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, - 0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, - 0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, - 0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, - 0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, - 0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, - 0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, - 0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, - 0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, - 0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, - 0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, - 0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, - 0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, - 0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, - 0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, - 0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, - 0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, - 0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, - 0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, - 0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, - 0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, - 0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, - 0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, - 0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, - 0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, - 0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, - 0x00F7: { n:"BrtBeginPRule", f:parsenoop }, - 0x00F8: { n:"BrtEndPRule", f:parsenoop }, - 0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, - 0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, - 0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, - 0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, - 0x00FD: { n:"BrtBeginPNames", f:parsenoop }, - 0x00FE: { n:"BrtEndPNames", f:parsenoop }, - 0x00FF: { n:"BrtBeginPName", f:parsenoop }, - 0x0100: { n:"BrtEndPName", f:parsenoop }, - 0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, - 0x0102: { n:"BrtEndPNPairs", f:parsenoop }, - 0x0103: { n:"BrtBeginPNPair", f:parsenoop }, - 0x0104: { n:"BrtEndPNPair", f:parsenoop }, - 0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, - 0x0106: { n:"BrtEndECWebProps", f:parsenoop }, - 0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, - 0x0108: { n:"BrtEndECWPTables", f:parsenoop }, - 0x0109: { n:"BrtBeginECParams", f:parsenoop }, - 0x010A: { n:"BrtEndECParams", f:parsenoop }, - 0x010B: { n:"BrtBeginECParam", f:parsenoop }, - 0x010C: { n:"BrtEndECParam", f:parsenoop }, - 0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, - 0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, - 0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, - 0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, - 0x0111: { n:"BrtBeginDims", f:parsenoop }, - 0x0112: { n:"BrtEndDims", f:parsenoop }, - 0x0113: { n:"BrtBeginDim", f:parsenoop }, - 0x0114: { n:"BrtEndDim", f:parsenoop }, - 0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, - 0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, - 0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, - 0x0118: { n:"BrtBeginSXView", f:parsenoop }, - 0x0119: { n:"BrtEndSXVI", f:parsenoop }, - 0x011A: { n:"BrtBeginSXVI", f:parsenoop }, - 0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, - 0x011C: { n:"BrtEndSXVIs", f:parsenoop }, - 0x011D: { n:"BrtBeginSXVD", f:parsenoop }, - 0x011E: { n:"BrtEndSXVD", f:parsenoop }, - 0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, - 0x0120: { n:"BrtEndSXVDs", f:parsenoop }, - 0x0121: { n:"BrtBeginSXPI", f:parsenoop }, - 0x0122: { n:"BrtEndSXPI", f:parsenoop }, - 0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, - 0x0124: { n:"BrtEndSXPIs", f:parsenoop }, - 0x0125: { n:"BrtBeginSXDI", f:parsenoop }, - 0x0126: { n:"BrtEndSXDI", f:parsenoop }, - 0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, - 0x0128: { n:"BrtEndSXDIs", f:parsenoop }, - 0x0129: { n:"BrtBeginSXLI", f:parsenoop }, - 0x012A: { n:"BrtEndSXLI", f:parsenoop }, - 0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, - 0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, - 0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, - 0x012E: { n:"BrtEndSXLICols", f:parsenoop }, - 0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, - 0x0130: { n:"BrtEndSXFormat", f:parsenoop }, - 0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, - 0x0132: { n:"BrtEndSxFormats", f:parsenoop }, - 0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, - 0x0134: { n:"BrtEndSxSelect", f:parsenoop }, - 0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, - 0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, - 0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, - 0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, - 0x0139: { n:"BrtEndSXLocation", f:parsenoop }, - 0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, - 0x013B: { n:"BrtEndSXView", f:parsenoop }, - 0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, - 0x013D: { n:"BrtEndSXTHs", f:parsenoop }, - 0x013E: { n:"BrtBeginSXTH", f:parsenoop }, - 0x013F: { n:"BrtEndSXTH", f:parsenoop }, - 0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, - 0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, - 0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, - 0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, - 0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, - 0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, - 0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, - 0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, - 0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, - 0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, - 0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, - 0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, - 0x014C: { n:"BrtBeginMetadata", f:parsenoop }, - 0x014D: { n:"BrtEndMetadata", f:parsenoop }, - 0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, - 0x014F: { n:"BrtMdtinfo", f:parsenoop }, - 0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, - 0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, - 0x0152: { n:"BrtEndEsmdb", f:parsenoop }, - 0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, - 0x0154: { n:"BrtEndEsfmd", f:parsenoop }, - 0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, - 0x0156: { n:"BrtEndSingleCells", f:parsenoop }, - 0x0157: { n:"BrtBeginList", f:parsenoop }, - 0x0158: { n:"BrtEndList", f:parsenoop }, - 0x0159: { n:"BrtBeginListCols", f:parsenoop }, - 0x015A: { n:"BrtEndListCols", f:parsenoop }, - 0x015B: { n:"BrtBeginListCol", f:parsenoop }, - 0x015C: { n:"BrtEndListCol", f:parsenoop }, - 0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, - 0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, - 0x015F: { n:"BrtListCCFmla", f:parsenoop }, - 0x0160: { n:"BrtListTrFmla", f:parsenoop }, - 0x0161: { n:"BrtBeginExternals", f:parsenoop }, - 0x0162: { n:"BrtEndExternals", f:parsenoop }, - 0x0163: { n:"BrtSupBookSrc", f:parsenoop }, - 0x0165: { n:"BrtSupSelf", f:parsenoop }, - 0x0166: { n:"BrtSupSame", f:parsenoop }, - 0x0167: { n:"BrtSupTabs", f:parsenoop }, - 0x0168: { n:"BrtBeginSupBook", f:parsenoop }, - 0x0169: { n:"BrtPlaceholderName", f:parsenoop }, - 0x016A: { n:"BrtExternSheet", f:parsenoop }, - 0x016B: { n:"BrtExternTableStart", f:parsenoop }, - 0x016C: { n:"BrtExternTableEnd", f:parsenoop }, - 0x016E: { n:"BrtExternRowHdr", f:parsenoop }, - 0x016F: { n:"BrtExternCellBlank", f:parsenoop }, - 0x0170: { n:"BrtExternCellReal", f:parsenoop }, - 0x0171: { n:"BrtExternCellBool", f:parsenoop }, - 0x0172: { n:"BrtExternCellError", f:parsenoop }, - 0x0173: { n:"BrtExternCellString", f:parsenoop }, - 0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, - 0x0175: { n:"BrtEndEsmdx", f:parsenoop }, - 0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, - 0x0177: { n:"BrtEndMdxSet", f:parsenoop }, - 0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, - 0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, - 0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, - 0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, - 0x017C: { n:"BrtBeginEsstr", f:parsenoop }, - 0x017D: { n:"BrtEndEsstr", f:parsenoop }, - 0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, - 0x017F: { n:"BrtEndPRFItem", f:parsenoop }, - 0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, - 0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, - 0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, - 0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, - 0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, - 0x0185: { n:"BrtEndISXVIs", f:parsenoop }, - 0x0186: { n:"BrtBeginColInfos", f:parsenoop }, - 0x0187: { n:"BrtEndColInfos", f:parsenoop }, - 0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, - 0x0189: { n:"BrtEndRwBrk", f:parsenoop }, - 0x018A: { n:"BrtBeginColBrk", f:parsenoop }, - 0x018B: { n:"BrtEndColBrk", f:parsenoop }, - 0x018C: { n:"BrtBrk", f:parsenoop }, - 0x018D: { n:"BrtUserBookView", f:parsenoop }, - 0x018E: { n:"BrtInfo", f:parsenoop }, - 0x018F: { n:"BrtCUsr", f:parsenoop }, - 0x0190: { n:"BrtUsr", f:parsenoop }, - 0x0191: { n:"BrtBeginUsers", f:parsenoop }, - 0x0193: { n:"BrtEOF", f:parsenoop }, - 0x0194: { n:"BrtUCR", f:parsenoop }, - 0x0195: { n:"BrtRRInsDel", f:parsenoop }, - 0x0196: { n:"BrtRREndInsDel", f:parsenoop }, - 0x0197: { n:"BrtRRMove", f:parsenoop }, - 0x0198: { n:"BrtRREndMove", f:parsenoop }, - 0x0199: { n:"BrtRRChgCell", f:parsenoop }, - 0x019A: { n:"BrtRREndChgCell", f:parsenoop }, - 0x019B: { n:"BrtRRHeader", f:parsenoop }, - 0x019C: { n:"BrtRRUserView", f:parsenoop }, - 0x019D: { n:"BrtRRRenSheet", f:parsenoop }, - 0x019E: { n:"BrtRRInsertSh", f:parsenoop }, - 0x019F: { n:"BrtRRDefName", f:parsenoop }, - 0x01A0: { n:"BrtRRNote", f:parsenoop }, - 0x01A1: { n:"BrtRRConflict", f:parsenoop }, - 0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, - 0x01A3: { n:"BrtRRFormat", f:parsenoop }, - 0x01A4: { n:"BrtRREndFormat", f:parsenoop }, - 0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, - 0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, - 0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, - 0x01A8: { n:"BrtEndUserShView", f:parsenoop }, - 0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, - 0x01AA: { n:"BrtArrFmla", f:parsenoop }, - 0x01AB: { n:"BrtShrFmla", f:parsenoop }, - 0x01AC: { n:"BrtTable", f:parsenoop }, - 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, - 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, - 0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, - 0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, - 0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, - 0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, - 0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, - 0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, - 0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, - 0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, - 0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, - 0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, - 0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, - 0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, - 0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, - 0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, - 0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, - 0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, - 0x01BF: { n:"BrtBeginQSI", f:parsenoop }, - 0x01C0: { n:"BrtEndQSI", f:parsenoop }, - 0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, - 0x01C2: { n:"BrtEndQSIR", f:parsenoop }, - 0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, - 0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, - 0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, - 0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, - 0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, - 0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, - 0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, - 0x01CA: { n:"BrtEndQSIF", f:parsenoop }, - 0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, - 0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, - 0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, - 0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, - 0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, - 0x01D0: { n:"BrtEndCFRule", f:parsenoop }, - 0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, - 0x01D2: { n:"BrtEndIconSet", f:parsenoop }, - 0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, - 0x01D4: { n:"BrtEndDatabar", f:parsenoop }, - 0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, - 0x01D6: { n:"BrtEndColorScale", f:parsenoop }, - 0x01D7: { n:"BrtCFVO", f:parsenoop }, - 0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, - 0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, - 0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, - 0x01DB: { n:"BrtIndexedColor", f:parsenoop }, - 0x01DC: { n:"BrtMargins", f:parsenoop }, - 0x01DD: { n:"BrtPrintOptions", f:parsenoop }, - 0x01DE: { n:"BrtPageSetup", f:parsenoop }, - 0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, - 0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, - 0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, - 0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, - 0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, - 0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, - 0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, - 0x01E6: { n:"BrtBeginMgs", f:parsenoop }, - 0x01E7: { n:"BrtEndMGs", f:parsenoop }, - 0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, - 0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, - 0x01EA: { n:"BrtBeginMG", f:parsenoop }, - 0x01EB: { n:"BrtEndMG", f:parsenoop }, - 0x01EC: { n:"BrtBeginMap", f:parsenoop }, - 0x01ED: { n:"BrtEndMap", f:parsenoop }, - 0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, - 0x01EF: { n:"BrtBeginDCon", f:parsenoop }, - 0x01F0: { n:"BrtEndDCon", f:parsenoop }, - 0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, - 0x01F2: { n:"BrtEndDRefs", f:parsenoop }, - 0x01F3: { n:"BrtDRef", f:parsenoop }, - 0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, - 0x01F5: { n:"BrtEndScenMan", f:parsenoop }, - 0x01F6: { n:"BrtBeginSct", f:parsenoop }, - 0x01F7: { n:"BrtEndSct", f:parsenoop }, - 0x01F8: { n:"BrtSlc", f:parsenoop }, - 0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, - 0x01FA: { n:"BrtEndDXFs", f:parsenoop }, - 0x01FB: { n:"BrtDXF", f:parsenoop }, - 0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, - 0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, - 0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, - 0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, - 0x0200: { n:"BrtTableStyleElement", f:parsenoop }, - 0x0201: { n:"BrtTableStyleClient", f:parsenoop }, - 0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, - 0x0203: { n:"BrtEndVolDeps", f:parsenoop }, - 0x0204: { n:"BrtBeginVolType", f:parsenoop }, - 0x0205: { n:"BrtEndVolType", f:parsenoop }, - 0x0206: { n:"BrtBeginVolMain", f:parsenoop }, - 0x0207: { n:"BrtEndVolMain", f:parsenoop }, - 0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, - 0x0209: { n:"BrtEndVolTopic", f:parsenoop }, - 0x020A: { n:"BrtVolSubtopic", f:parsenoop }, - 0x020B: { n:"BrtVolRef", f:parsenoop }, - 0x020C: { n:"BrtVolNum", f:parsenoop }, - 0x020D: { n:"BrtVolErr", f:parsenoop }, - 0x020E: { n:"BrtVolStr", f:parsenoop }, - 0x020F: { n:"BrtVolBool", f:parsenoop }, - 0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, - 0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, - 0x0212: { n:"BrtBeginSortState", f:parsenoop }, - 0x0213: { n:"BrtEndSortState", f:parsenoop }, - 0x0214: { n:"BrtBeginSortCond", f:parsenoop }, - 0x0215: { n:"BrtEndSortCond", f:parsenoop }, - 0x0216: { n:"BrtBookProtection", f:parsenoop }, - 0x0217: { n:"BrtSheetProtection", f:parsenoop }, - 0x0218: { n:"BrtRangeProtection", f:parsenoop }, - 0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, - 0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, - 0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, - 0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, - 0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, - 0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, - 0x0224: { n:"BrtFileSharing", f:parsenoop }, - 0x0225: { n:"BrtOleSize", f:parsenoop }, - 0x0226: { n:"BrtDrawing", f:parsenoop }, - 0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, - 0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, - 0x0229: { n:"BrtWebOpt", f:parsenoop }, - 0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, - 0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, - 0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, - 0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, - 0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, - 0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, - 0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, - 0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, - 0x0232: { n:"BrtBkHim", f:parsenoop }, - 0x0234: { n:"BrtColor", f:parsenoop }, - 0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, - 0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, - 0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, - 0x023A: { n:"BrtEndMRUColors", f:parsenoop }, - 0x023C: { n:"BrtMRUColor", f:parsenoop }, - 0x023D: { n:"BrtBeginDVals", f:parsenoop }, - 0x023E: { n:"BrtEndDVals", f:parsenoop }, - 0x0241: { n:"BrtSupNameStart", f:parsenoop }, - 0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, - 0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, - 0x0244: { n:"BrtSupNameNum", f:parsenoop }, - 0x0245: { n:"BrtSupNameErr", f:parsenoop }, - 0x0246: { n:"BrtSupNameSt", f:parsenoop }, - 0x0247: { n:"BrtSupNameNil", f:parsenoop }, - 0x0248: { n:"BrtSupNameBool", f:parsenoop }, - 0x0249: { n:"BrtSupNameFmla", f:parsenoop }, - 0x024A: { n:"BrtSupNameBits", f:parsenoop }, - 0x024B: { n:"BrtSupNameEnd", f:parsenoop }, - 0x024C: { n:"BrtEndSupBook", f:parsenoop }, - 0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, - 0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, - 0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, - 0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, - 0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, - 0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, - 0x0253: { n:"BrtEndSmartTags", f:parsenoop }, - 0x0254: { n:"BrtSmartTagType", f:parsenoop }, - 0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, - 0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, - 0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, - 0x0258: { n:"BrtEndSXFilters", f:parsenoop }, - 0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, - 0x025A: { n:"BrtEndSXFilter", f:parsenoop }, - 0x025B: { n:"BrtBeginFills", f:parsenoop }, - 0x025C: { n:"BrtEndFills", f:parsenoop }, - 0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, - 0x025E: { n:"BrtEndCellWatches", f:parsenoop }, - 0x025F: { n:"BrtCellWatch", f:parsenoop }, - 0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, - 0x0261: { n:"BrtEndCRErrs", f:parsenoop }, - 0x0262: { n:"BrtCrashRecErr", f:parsenoop }, - 0x0263: { n:"BrtBeginFonts", f:parsenoop }, - 0x0264: { n:"BrtEndFonts", f:parsenoop }, - 0x0265: { n:"BrtBeginBorders", f:parsenoop }, - 0x0266: { n:"BrtEndBorders", f:parsenoop }, - 0x0267: { n:"BrtBeginFmts", f:parsenoop }, - 0x0268: { n:"BrtEndFmts", f:parsenoop }, - 0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, - 0x026A: { n:"BrtEndCellXFs", f:parsenoop }, - 0x026B: { n:"BrtBeginStyles", f:parsenoop }, - 0x026C: { n:"BrtEndStyles", f:parsenoop }, - 0x0271: { n:"BrtBigName", f:parsenoop }, - 0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, - 0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, - 0x0274: { n:"BrtBeginComments", f:parsenoop }, - 0x0275: { n:"BrtEndComments", f:parsenoop }, - 0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, - 0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, - 0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, - 0x0279: { n:"BrtBeginCommentList", f:parsenoop }, - 0x027A: { n:"BrtEndCommentList", f:parsenoop }, - 0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, - 0x027C: { n:"BrtEndComment", f:parsenoop }, - 0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, - 0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, - 0x027F: { n:"BrtOleObject", f:parsenoop }, - 0x0280: { n:"BrtEndOleObjects", f:parsenoop }, - 0x0281: { n:"BrtBeginSxrules", f:parsenoop }, - 0x0282: { n:"BrtEndSxRules", f:parsenoop }, - 0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, - 0x0284: { n:"BrtActiveX", f:parsenoop }, - 0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, - 0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, - 0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, - 0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, - 0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, - 0x028B: { n:"BrtCsProp", f:parsenoop }, - 0x028C: { n:"BrtCsPageSetup", f:parsenoop }, - 0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, - 0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, - 0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, - 0x0290: { n:"BrtEndUserCsView", f:parsenoop }, - 0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, - 0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, - 0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, - 0x0294: { n:"BrtBeginListParts", f:parsenoop }, - 0x0295: { n:"BrtListPart", f:parsenoop }, - 0x0296: { n:"BrtEndListParts", f:parsenoop }, - 0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, - 0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, - 0x0299: { n:"BrtFnGroup", f:parsenoop }, - 0x029A: { n:"BrtEndFnGroup", f:parsenoop }, - 0x029B: { n:"BrtSupAddin", f:parsenoop }, - 0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, - 0x029D: { n:"BrtCsProtection", f:parsenoop }, - 0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, - 0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, - 0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, - 0x02A2: { n:"BrtEndRRSort", f:parsenoop }, - 0x02A3: { n:"BrtRRSortItem", f:parsenoop }, - 0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, - 0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, - 0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, - 0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, - 0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, - 0x0400: { n:"BrtRwDescent", f:parsenoop }, - 0x0401: { n:"BrtKnownFonts", f:parsenoop }, - 0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, - 0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, - 0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, - 0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, - 0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, - 0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, - 0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, - 0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, - 0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, - 0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, - 0x040C: { n:"BrtNameExt", f:parsenoop }, - 0x040D: { n:"BrtPCDH14", f:parsenoop }, - 0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, - 0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, - 0x0410: { n:"BrtSXTH14", f:parsenoop }, - 0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, - 0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, - 0x0413: { n:"BrtSparkline", f:parsenoop }, - 0x0414: { n:"BrtSXDI14", f:parsenoop }, - 0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, - 0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, - 0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, - 0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, - 0x0419: { n:"BrtEndCFRule14", f:parsenoop }, - 0x041A: { n:"BrtCFVO14", f:parsenoop }, - 0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, - 0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, - 0x041D: { n:"BrtDVal14", f:parsenoop }, - 0x041E: { n:"BrtBeginDVals14", f:parsenoop }, - 0x041F: { n:"BrtColor14", f:parsenoop }, - 0x0420: { n:"BrtBeginSparklines", f:parsenoop }, - 0x0421: { n:"BrtEndSparklines", f:parsenoop }, - 0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, - 0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, - 0x0425: { n:"BrtSXVD14", f:parsenoop }, - 0x0426: { n:"BrtBeginSxview14", f:parsenoop }, - 0x0427: { n:"BrtEndSxview14", f:parsenoop }, - 0x042A: { n:"BrtBeginPCD14", f:parsenoop }, - 0x042B: { n:"BrtEndPCD14", f:parsenoop }, - 0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, - 0x042D: { n:"BrtEndExtConn14", f:parsenoop }, - 0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, - 0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, - 0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, - 0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, - 0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, - 0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, - 0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, - 0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, - 0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, - 0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, - 0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, - 0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, - 0x043B: { n:"BrtBeginSlicer", f:parsenoop }, - 0x043C: { n:"BrtEndSlicer", f:parsenoop }, - 0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, - 0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, - 0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, - 0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, - 0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, - 0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, - 0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, - 0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, - 0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, - 0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, - 0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, - 0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, - 0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, - 0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, - 0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, - 0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, - 0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, - 0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, - 0x044F: { n:"BrtRangeProtection14", f:parsenoop }, - 0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, - 0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, - 0x0457: { n:"BrtList14", f:parsenoop }, - 0x0458: { n:"BrtCFIcon", f:parsenoop }, - 0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045B: { n:"BrtBeginSlicers", f:parsenoop }, - 0x045C: { n:"BrtEndSlicers", f:parsenoop }, - 0x045D: { n:"BrtWbProp14", f:parsenoop }, - 0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, - 0x045F: { n:"BrtEndSXEdit", f:parsenoop }, - 0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, - 0x0461: { n:"BrtEndSXEdits", f:parsenoop }, - 0x0462: { n:"BrtBeginSXChange", f:parsenoop }, - 0x0463: { n:"BrtEndSXChange", f:parsenoop }, - 0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, - 0x0465: { n:"BrtEndSXChanges", f:parsenoop }, - 0x0466: { n:"BrtSXTupleItems", f:parsenoop }, - 0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, - 0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, - 0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, - 0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, - 0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, - 0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, - 0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, - 0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, - 0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, - 0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, - 0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, - 0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, - 0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, - 0x0475: { n:"BrtPCDField14", f:parsenoop }, - 0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, - 0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, - 0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, - 0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, - 0x047A: { n:"BrtCFRuleExt", f:parsenoop }, - 0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, - 0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, - 0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, - 0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, - 0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, - 0x0481: { n:"BrtEndSortCond14", f:parsenoop }, - 0x0482: { n:"BrtEndDVals14", f:parsenoop }, - 0x0483: { n:"BrtEndIconSet14", f:parsenoop }, - 0x0484: { n:"BrtEndDatabar14", f:parsenoop }, - 0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, - 0x0486: { n:"BrtEndColorScale14", f:parsenoop }, - 0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, - 0x0488: { n:"BrtEndSxrules14", f:parsenoop }, - 0x0489: { n:"BrtBeginPRule14", f:parsenoop }, - 0x048A: { n:"BrtEndPRule14", f:parsenoop }, - 0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, - 0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, - 0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, - 0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, - 0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, - 0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, - 0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, - 0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, - 0x0493: { n:"BrtDxf14", f:parsenoop }, - 0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, - 0x0495: { n:"BrtEndDxf14s", f:parsenoop }, - 0x0499: { n:"BrtFilter14", f:parsenoop }, - 0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, - 0x049C: { n:"BrtCustomFilter14", f:parsenoop }, - 0x049D: { n:"BrtIconFilter14", f:parsenoop }, - 0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, - 0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, - 0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, - 0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, - 0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, - 0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, - 0x0805: { n:"BrtPivotTableRef", f:parsenoop }, - 0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, - 0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, - 0x0808: { n:"BrtEndSxvcells", f:parsenoop }, - 0x0809: { n:"BrtBeginSxRow", f:parsenoop }, - 0x080A: { n:"BrtEndSxRow", f:parsenoop }, - 0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, - 0x0813: { n:"BrtQsi15", f:parsenoop }, - 0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, - 0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, - 0x0816: { n:"BrtWebExtension", f:parsenoop }, - 0x0817: { n:"BrtAbsPath15", f:parsenoop }, - 0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, - 0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, - 0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, - 0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, - 0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, - 0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, - 0x081F: { n:"BrtSxFilter15", f:parsenoop }, - 0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, - 0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, - 0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, - 0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, - 0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, - 0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, - 0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, - 0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, - 0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, - 0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, - 0x082C: { n:"BrtPCDH15", f:parsenoop }, - 0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, - 0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, - 0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, - 0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, - 0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, - 0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, - 0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, - 0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, - 0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, - 0x0836: { n:"BrtDxf15", f:parsenoop }, - 0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, - 0x0838: { n:"brtEndDxfs15", f:parsenoop }, - 0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, - 0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, - 0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, - 0x083C: { n:"BrtItemUniqueName", f:parsenoop }, - 0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, - 0x083E: { n:"BrtEndExtConn15", f:parsenoop }, - 0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, - 0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, - 0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, - 0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, - 0x0843: { n:"BrtTextPr15", f:parsenoop }, - 0x0844: { n:"BrtRangePr15", f:parsenoop }, - 0x0845: { n:"BrtDbCommand15", f:parsenoop }, - 0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, - 0x0847: { n:"BrtEndDbTables15", f:parsenoop }, - 0x0848: { n:"BrtDbTable15", f:parsenoop }, - 0x0849: { n:"BrtBeginDataModel", f:parsenoop }, - 0x084A: { n:"BrtEndDataModel", f:parsenoop }, - 0x084B: { n:"BrtBeginModelTables", f:parsenoop }, - 0x084C: { n:"BrtEndModelTables", f:parsenoop }, - 0x084D: { n:"BrtModelTable", f:parsenoop }, - 0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, - 0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, - 0x0850: { n:"BrtModelRelationship", f:parsenoop }, - 0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, - 0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, - 0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, - 0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, - 0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, - 0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, - 0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, - 0x0858: { n:"BrtSXDI15", f:parsenoop }, - 0xFFFF: { n:"", f:parsenoop } +0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, +0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, +0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, +0x0003: { n:"BrtCellError", f:parse_BrtCellError }, +0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, +0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, +0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, +0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, +0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, +0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, +0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, +0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, +0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, +0x0013: { n:"BrtSSTItem", f:parse_RichStr }, +0x0014: { n:"BrtPCDIMissing", f:parsenoop }, +0x0015: { n:"BrtPCDINumber", f:parsenoop }, +0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, +0x0017: { n:"BrtPCDIError", f:parsenoop }, +0x0018: { n:"BrtPCDIString", f:parsenoop }, +0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, +0x001A: { n:"BrtPCDIIndex", f:parsenoop }, +0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, +0x001C: { n:"BrtPCDIANumber", f:parsenoop }, +0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, +0x001E: { n:"BrtPCDIAError", f:parsenoop }, +0x001F: { n:"BrtPCDIAString", f:parsenoop }, +0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, +0x0021: { n:"BrtPCRRecord", f:parsenoop }, +0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, +0x0023: { n:"BrtFRTBegin", f:parsenoop }, +0x0024: { n:"BrtFRTEnd", f:parsenoop }, +0x0025: { n:"BrtACBegin", f:parsenoop }, +0x0026: { n:"BrtACEnd", f:parsenoop }, +0x0027: { n:"BrtName", f:parsenoop }, +0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, +0x002A: { n:"BrtIndexBlock", f:parsenoop }, +0x002B: { n:"BrtFont", f:parse_BrtFont }, +0x002C: { n:"BrtFmt", f:parse_BrtFmt }, +0x002D: { n:"BrtFill", f:parsenoop }, +0x002E: { n:"BrtBorder", f:parsenoop }, +0x002F: { n:"BrtXF", f:parse_BrtXF }, +0x0030: { n:"BrtStyle", f:parsenoop }, +0x0031: { n:"BrtCellMeta", f:parsenoop }, +0x0032: { n:"BrtValueMeta", f:parsenoop }, +0x0033: { n:"BrtMdb", f:parsenoop }, +0x0034: { n:"BrtBeginFmd", f:parsenoop }, +0x0035: { n:"BrtEndFmd", f:parsenoop }, +0x0036: { n:"BrtBeginMdx", f:parsenoop }, +0x0037: { n:"BrtEndMdx", f:parsenoop }, +0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, +0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, +0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, +0x003B: { n:"BrtStr", f:parsenoop }, +0x003C: { n:"BrtColInfo", f:parsenoop }, +0x003E: { n:"BrtCellRString", f:parsenoop }, +0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, +0x0040: { n:"BrtDVal", f:parsenoop }, +0x0041: { n:"BrtSxvcellNum", f:parsenoop }, +0x0042: { n:"BrtSxvcellStr", f:parsenoop }, +0x0043: { n:"BrtSxvcellBool", f:parsenoop }, +0x0044: { n:"BrtSxvcellErr", f:parsenoop }, +0x0045: { n:"BrtSxvcellDate", f:parsenoop }, +0x0046: { n:"BrtSxvcellNil", f:parsenoop }, +0x0080: { n:"BrtFileVersion", f:parsenoop }, +0x0081: { n:"BrtBeginSheet", f:parsenoop }, +0x0082: { n:"BrtEndSheet", f:parsenoop }, +0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, +0x0084: { n:"BrtEndBook", f:parsenoop }, +0x0085: { n:"BrtBeginWsViews", f:parsenoop }, +0x0086: { n:"BrtEndWsViews", f:parsenoop }, +0x0087: { n:"BrtBeginBookViews", f:parsenoop }, +0x0088: { n:"BrtEndBookViews", f:parsenoop }, +0x0089: { n:"BrtBeginWsView", f:parsenoop }, +0x008A: { n:"BrtEndWsView", f:parsenoop }, +0x008B: { n:"BrtBeginCsViews", f:parsenoop }, +0x008C: { n:"BrtEndCsViews", f:parsenoop }, +0x008D: { n:"BrtBeginCsView", f:parsenoop }, +0x008E: { n:"BrtEndCsView", f:parsenoop }, +0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, +0x0090: { n:"BrtEndBundleShs", f:parsenoop }, +0x0091: { n:"BrtBeginSheetData", f:parsenoop }, +0x0092: { n:"BrtEndSheetData", f:parsenoop }, +0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, +0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, +0x0097: { n:"BrtPane", f:parsenoop }, +0x0098: { n:"BrtSel", f:parsenoop }, +0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, +0x009A: { n:"BrtWbFactoid", f:parsenoop }, +0x009B: { n:"BrtFileRecover", f:parsenoop }, +0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, +0x009D: { n:"BrtCalcProp", f:parsenoop }, +0x009E: { n:"BrtBookView", f:parsenoop }, +0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, +0x00A0: { n:"BrtEndSst", f:parsenoop }, +0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, +0x00A2: { n:"BrtEndAFilter", f:parsenoop }, +0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, +0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, +0x00A5: { n:"BrtBeginFilters", f:parsenoop }, +0x00A6: { n:"BrtEndFilters", f:parsenoop }, +0x00A7: { n:"BrtFilter", f:parsenoop }, +0x00A8: { n:"BrtColorFilter", f:parsenoop }, +0x00A9: { n:"BrtIconFilter", f:parsenoop }, +0x00AA: { n:"BrtTop10Filter", f:parsenoop }, +0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, +0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, +0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, +0x00AE: { n:"BrtCustomFilter", f:parsenoop }, +0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, +0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, +0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, +0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, +0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, +0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, +0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, +0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, +0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, +0x00B8: { n:"BrtEndPCDField", f:parsenoop }, +0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, +0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, +0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, +0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, +0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, +0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, +0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, +0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, +0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, +0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, +0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, +0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, +0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, +0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, +0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, +0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, +0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, +0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, +0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, +0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, +0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, +0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, +0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, +0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, +0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, +0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, +0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, +0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, +0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, +0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, +0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, +0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, +0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, +0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, +0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, +0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, +0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, +0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, +0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, +0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, +0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, +0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, +0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, +0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, +0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, +0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, +0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, +0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, +0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, +0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, +0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, +0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, +0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, +0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, +0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, +0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, +0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, +0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, +0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, +0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, +0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, +0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, +0x00F7: { n:"BrtBeginPRule", f:parsenoop }, +0x00F8: { n:"BrtEndPRule", f:parsenoop }, +0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, +0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, +0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, +0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, +0x00FD: { n:"BrtBeginPNames", f:parsenoop }, +0x00FE: { n:"BrtEndPNames", f:parsenoop }, +0x00FF: { n:"BrtBeginPName", f:parsenoop }, +0x0100: { n:"BrtEndPName", f:parsenoop }, +0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, +0x0102: { n:"BrtEndPNPairs", f:parsenoop }, +0x0103: { n:"BrtBeginPNPair", f:parsenoop }, +0x0104: { n:"BrtEndPNPair", f:parsenoop }, +0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, +0x0106: { n:"BrtEndECWebProps", f:parsenoop }, +0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, +0x0108: { n:"BrtEndECWPTables", f:parsenoop }, +0x0109: { n:"BrtBeginECParams", f:parsenoop }, +0x010A: { n:"BrtEndECParams", f:parsenoop }, +0x010B: { n:"BrtBeginECParam", f:parsenoop }, +0x010C: { n:"BrtEndECParam", f:parsenoop }, +0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, +0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, +0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, +0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, +0x0111: { n:"BrtBeginDims", f:parsenoop }, +0x0112: { n:"BrtEndDims", f:parsenoop }, +0x0113: { n:"BrtBeginDim", f:parsenoop }, +0x0114: { n:"BrtEndDim", f:parsenoop }, +0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, +0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, +0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, +0x0118: { n:"BrtBeginSXView", f:parsenoop }, +0x0119: { n:"BrtEndSXVI", f:parsenoop }, +0x011A: { n:"BrtBeginSXVI", f:parsenoop }, +0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, +0x011C: { n:"BrtEndSXVIs", f:parsenoop }, +0x011D: { n:"BrtBeginSXVD", f:parsenoop }, +0x011E: { n:"BrtEndSXVD", f:parsenoop }, +0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, +0x0120: { n:"BrtEndSXVDs", f:parsenoop }, +0x0121: { n:"BrtBeginSXPI", f:parsenoop }, +0x0122: { n:"BrtEndSXPI", f:parsenoop }, +0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, +0x0124: { n:"BrtEndSXPIs", f:parsenoop }, +0x0125: { n:"BrtBeginSXDI", f:parsenoop }, +0x0126: { n:"BrtEndSXDI", f:parsenoop }, +0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, +0x0128: { n:"BrtEndSXDIs", f:parsenoop }, +0x0129: { n:"BrtBeginSXLI", f:parsenoop }, +0x012A: { n:"BrtEndSXLI", f:parsenoop }, +0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, +0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, +0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, +0x012E: { n:"BrtEndSXLICols", f:parsenoop }, +0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, +0x0130: { n:"BrtEndSXFormat", f:parsenoop }, +0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, +0x0132: { n:"BrtEndSxFormats", f:parsenoop }, +0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, +0x0134: { n:"BrtEndSxSelect", f:parsenoop }, +0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, +0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, +0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, +0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, +0x0139: { n:"BrtEndSXLocation", f:parsenoop }, +0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, +0x013B: { n:"BrtEndSXView", f:parsenoop }, +0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, +0x013D: { n:"BrtEndSXTHs", f:parsenoop }, +0x013E: { n:"BrtBeginSXTH", f:parsenoop }, +0x013F: { n:"BrtEndSXTH", f:parsenoop }, +0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, +0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, +0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, +0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, +0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, +0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, +0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, +0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, +0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, +0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, +0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, +0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, +0x014C: { n:"BrtBeginMetadata", f:parsenoop }, +0x014D: { n:"BrtEndMetadata", f:parsenoop }, +0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, +0x014F: { n:"BrtMdtinfo", f:parsenoop }, +0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, +0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, +0x0152: { n:"BrtEndEsmdb", f:parsenoop }, +0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, +0x0154: { n:"BrtEndEsfmd", f:parsenoop }, +0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, +0x0156: { n:"BrtEndSingleCells", f:parsenoop }, +0x0157: { n:"BrtBeginList", f:parsenoop }, +0x0158: { n:"BrtEndList", f:parsenoop }, +0x0159: { n:"BrtBeginListCols", f:parsenoop }, +0x015A: { n:"BrtEndListCols", f:parsenoop }, +0x015B: { n:"BrtBeginListCol", f:parsenoop }, +0x015C: { n:"BrtEndListCol", f:parsenoop }, +0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, +0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, +0x015F: { n:"BrtListCCFmla", f:parsenoop }, +0x0160: { n:"BrtListTrFmla", f:parsenoop }, +0x0161: { n:"BrtBeginExternals", f:parsenoop }, +0x0162: { n:"BrtEndExternals", f:parsenoop }, +0x0163: { n:"BrtSupBookSrc", f:parsenoop }, +0x0165: { n:"BrtSupSelf", f:parsenoop }, +0x0166: { n:"BrtSupSame", f:parsenoop }, +0x0167: { n:"BrtSupTabs", f:parsenoop }, +0x0168: { n:"BrtBeginSupBook", f:parsenoop }, +0x0169: { n:"BrtPlaceholderName", f:parsenoop }, +0x016A: { n:"BrtExternSheet", f:parsenoop }, +0x016B: { n:"BrtExternTableStart", f:parsenoop }, +0x016C: { n:"BrtExternTableEnd", f:parsenoop }, +0x016E: { n:"BrtExternRowHdr", f:parsenoop }, +0x016F: { n:"BrtExternCellBlank", f:parsenoop }, +0x0170: { n:"BrtExternCellReal", f:parsenoop }, +0x0171: { n:"BrtExternCellBool", f:parsenoop }, +0x0172: { n:"BrtExternCellError", f:parsenoop }, +0x0173: { n:"BrtExternCellString", f:parsenoop }, +0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, +0x0175: { n:"BrtEndEsmdx", f:parsenoop }, +0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, +0x0177: { n:"BrtEndMdxSet", f:parsenoop }, +0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, +0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, +0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, +0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, +0x017C: { n:"BrtBeginEsstr", f:parsenoop }, +0x017D: { n:"BrtEndEsstr", f:parsenoop }, +0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, +0x017F: { n:"BrtEndPRFItem", f:parsenoop }, +0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, +0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, +0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, +0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, +0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, +0x0185: { n:"BrtEndISXVIs", f:parsenoop }, +0x0186: { n:"BrtBeginColInfos", f:parsenoop }, +0x0187: { n:"BrtEndColInfos", f:parsenoop }, +0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, +0x0189: { n:"BrtEndRwBrk", f:parsenoop }, +0x018A: { n:"BrtBeginColBrk", f:parsenoop }, +0x018B: { n:"BrtEndColBrk", f:parsenoop }, +0x018C: { n:"BrtBrk", f:parsenoop }, +0x018D: { n:"BrtUserBookView", f:parsenoop }, +0x018E: { n:"BrtInfo", f:parsenoop }, +0x018F: { n:"BrtCUsr", f:parsenoop }, +0x0190: { n:"BrtUsr", f:parsenoop }, +0x0191: { n:"BrtBeginUsers", f:parsenoop }, +0x0193: { n:"BrtEOF", f:parsenoop }, +0x0194: { n:"BrtUCR", f:parsenoop }, +0x0195: { n:"BrtRRInsDel", f:parsenoop }, +0x0196: { n:"BrtRREndInsDel", f:parsenoop }, +0x0197: { n:"BrtRRMove", f:parsenoop }, +0x0198: { n:"BrtRREndMove", f:parsenoop }, +0x0199: { n:"BrtRRChgCell", f:parsenoop }, +0x019A: { n:"BrtRREndChgCell", f:parsenoop }, +0x019B: { n:"BrtRRHeader", f:parsenoop }, +0x019C: { n:"BrtRRUserView", f:parsenoop }, +0x019D: { n:"BrtRRRenSheet", f:parsenoop }, +0x019E: { n:"BrtRRInsertSh", f:parsenoop }, +0x019F: { n:"BrtRRDefName", f:parsenoop }, +0x01A0: { n:"BrtRRNote", f:parsenoop }, +0x01A1: { n:"BrtRRConflict", f:parsenoop }, +0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, +0x01A3: { n:"BrtRRFormat", f:parsenoop }, +0x01A4: { n:"BrtRREndFormat", f:parsenoop }, +0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, +0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, +0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, +0x01A8: { n:"BrtEndUserShView", f:parsenoop }, +0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, +0x01AA: { n:"BrtArrFmla", f:parsenoop }, +0x01AB: { n:"BrtShrFmla", f:parsenoop }, +0x01AC: { n:"BrtTable", f:parsenoop }, +0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, +0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, +0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, +0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, +0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, +0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, +0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, +0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, +0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, +0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, +0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, +0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, +0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, +0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, +0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, +0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, +0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, +0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, +0x01BF: { n:"BrtBeginQSI", f:parsenoop }, +0x01C0: { n:"BrtEndQSI", f:parsenoop }, +0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, +0x01C2: { n:"BrtEndQSIR", f:parsenoop }, +0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, +0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, +0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, +0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, +0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, +0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, +0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, +0x01CA: { n:"BrtEndQSIF", f:parsenoop }, +0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, +0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, +0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, +0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, +0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, +0x01D0: { n:"BrtEndCFRule", f:parsenoop }, +0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, +0x01D2: { n:"BrtEndIconSet", f:parsenoop }, +0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, +0x01D4: { n:"BrtEndDatabar", f:parsenoop }, +0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, +0x01D6: { n:"BrtEndColorScale", f:parsenoop }, +0x01D7: { n:"BrtCFVO", f:parsenoop }, +0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, +0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, +0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, +0x01DB: { n:"BrtIndexedColor", f:parsenoop }, +0x01DC: { n:"BrtMargins", f:parsenoop }, +0x01DD: { n:"BrtPrintOptions", f:parsenoop }, +0x01DE: { n:"BrtPageSetup", f:parsenoop }, +0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, +0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, +0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, +0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, +0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, +0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, +0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, +0x01E6: { n:"BrtBeginMgs", f:parsenoop }, +0x01E7: { n:"BrtEndMGs", f:parsenoop }, +0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, +0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, +0x01EA: { n:"BrtBeginMG", f:parsenoop }, +0x01EB: { n:"BrtEndMG", f:parsenoop }, +0x01EC: { n:"BrtBeginMap", f:parsenoop }, +0x01ED: { n:"BrtEndMap", f:parsenoop }, +0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, +0x01EF: { n:"BrtBeginDCon", f:parsenoop }, +0x01F0: { n:"BrtEndDCon", f:parsenoop }, +0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, +0x01F2: { n:"BrtEndDRefs", f:parsenoop }, +0x01F3: { n:"BrtDRef", f:parsenoop }, +0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, +0x01F5: { n:"BrtEndScenMan", f:parsenoop }, +0x01F6: { n:"BrtBeginSct", f:parsenoop }, +0x01F7: { n:"BrtEndSct", f:parsenoop }, +0x01F8: { n:"BrtSlc", f:parsenoop }, +0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, +0x01FA: { n:"BrtEndDXFs", f:parsenoop }, +0x01FB: { n:"BrtDXF", f:parsenoop }, +0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, +0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, +0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, +0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, +0x0200: { n:"BrtTableStyleElement", f:parsenoop }, +0x0201: { n:"BrtTableStyleClient", f:parsenoop }, +0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, +0x0203: { n:"BrtEndVolDeps", f:parsenoop }, +0x0204: { n:"BrtBeginVolType", f:parsenoop }, +0x0205: { n:"BrtEndVolType", f:parsenoop }, +0x0206: { n:"BrtBeginVolMain", f:parsenoop }, +0x0207: { n:"BrtEndVolMain", f:parsenoop }, +0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, +0x0209: { n:"BrtEndVolTopic", f:parsenoop }, +0x020A: { n:"BrtVolSubtopic", f:parsenoop }, +0x020B: { n:"BrtVolRef", f:parsenoop }, +0x020C: { n:"BrtVolNum", f:parsenoop }, +0x020D: { n:"BrtVolErr", f:parsenoop }, +0x020E: { n:"BrtVolStr", f:parsenoop }, +0x020F: { n:"BrtVolBool", f:parsenoop }, +0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, +0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, +0x0212: { n:"BrtBeginSortState", f:parsenoop }, +0x0213: { n:"BrtEndSortState", f:parsenoop }, +0x0214: { n:"BrtBeginSortCond", f:parsenoop }, +0x0215: { n:"BrtEndSortCond", f:parsenoop }, +0x0216: { n:"BrtBookProtection", f:parsenoop }, +0x0217: { n:"BrtSheetProtection", f:parsenoop }, +0x0218: { n:"BrtRangeProtection", f:parsenoop }, +0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, +0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, +0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, +0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, +0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, +0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, +0x0224: { n:"BrtFileSharing", f:parsenoop }, +0x0225: { n:"BrtOleSize", f:parsenoop }, +0x0226: { n:"BrtDrawing", f:parsenoop }, +0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, +0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, +0x0229: { n:"BrtWebOpt", f:parsenoop }, +0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, +0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, +0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, +0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, +0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, +0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, +0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, +0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, +0x0232: { n:"BrtBkHim", f:parsenoop }, +0x0234: { n:"BrtColor", f:parsenoop }, +0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, +0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, +0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, +0x023A: { n:"BrtEndMRUColors", f:parsenoop }, +0x023C: { n:"BrtMRUColor", f:parsenoop }, +0x023D: { n:"BrtBeginDVals", f:parsenoop }, +0x023E: { n:"BrtEndDVals", f:parsenoop }, +0x0241: { n:"BrtSupNameStart", f:parsenoop }, +0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, +0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, +0x0244: { n:"BrtSupNameNum", f:parsenoop }, +0x0245: { n:"BrtSupNameErr", f:parsenoop }, +0x0246: { n:"BrtSupNameSt", f:parsenoop }, +0x0247: { n:"BrtSupNameNil", f:parsenoop }, +0x0248: { n:"BrtSupNameBool", f:parsenoop }, +0x0249: { n:"BrtSupNameFmla", f:parsenoop }, +0x024A: { n:"BrtSupNameBits", f:parsenoop }, +0x024B: { n:"BrtSupNameEnd", f:parsenoop }, +0x024C: { n:"BrtEndSupBook", f:parsenoop }, +0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, +0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, +0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, +0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, +0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, +0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, +0x0253: { n:"BrtEndSmartTags", f:parsenoop }, +0x0254: { n:"BrtSmartTagType", f:parsenoop }, +0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, +0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, +0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, +0x0258: { n:"BrtEndSXFilters", f:parsenoop }, +0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, +0x025A: { n:"BrtEndSXFilter", f:parsenoop }, +0x025B: { n:"BrtBeginFills", f:parsenoop }, +0x025C: { n:"BrtEndFills", f:parsenoop }, +0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, +0x025E: { n:"BrtEndCellWatches", f:parsenoop }, +0x025F: { n:"BrtCellWatch", f:parsenoop }, +0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, +0x0261: { n:"BrtEndCRErrs", f:parsenoop }, +0x0262: { n:"BrtCrashRecErr", f:parsenoop }, +0x0263: { n:"BrtBeginFonts", f:parsenoop }, +0x0264: { n:"BrtEndFonts", f:parsenoop }, +0x0265: { n:"BrtBeginBorders", f:parsenoop }, +0x0266: { n:"BrtEndBorders", f:parsenoop }, +0x0267: { n:"BrtBeginFmts", f:parsenoop }, +0x0268: { n:"BrtEndFmts", f:parsenoop }, +0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, +0x026A: { n:"BrtEndCellXFs", f:parsenoop }, +0x026B: { n:"BrtBeginStyles", f:parsenoop }, +0x026C: { n:"BrtEndStyles", f:parsenoop }, +0x0271: { n:"BrtBigName", f:parsenoop }, +0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, +0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, +0x0274: { n:"BrtBeginComments", f:parsenoop }, +0x0275: { n:"BrtEndComments", f:parsenoop }, +0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, +0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, +0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, +0x0279: { n:"BrtBeginCommentList", f:parsenoop }, +0x027A: { n:"BrtEndCommentList", f:parsenoop }, +0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, +0x027C: { n:"BrtEndComment", f:parsenoop }, +0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, +0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, +0x027F: { n:"BrtOleObject", f:parsenoop }, +0x0280: { n:"BrtEndOleObjects", f:parsenoop }, +0x0281: { n:"BrtBeginSxrules", f:parsenoop }, +0x0282: { n:"BrtEndSxRules", f:parsenoop }, +0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, +0x0284: { n:"BrtActiveX", f:parsenoop }, +0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, +0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, +0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, +0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, +0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, +0x028B: { n:"BrtCsProp", f:parsenoop }, +0x028C: { n:"BrtCsPageSetup", f:parsenoop }, +0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, +0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, +0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, +0x0290: { n:"BrtEndUserCsView", f:parsenoop }, +0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, +0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, +0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, +0x0294: { n:"BrtBeginListParts", f:parsenoop }, +0x0295: { n:"BrtListPart", f:parsenoop }, +0x0296: { n:"BrtEndListParts", f:parsenoop }, +0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, +0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, +0x0299: { n:"BrtFnGroup", f:parsenoop }, +0x029A: { n:"BrtEndFnGroup", f:parsenoop }, +0x029B: { n:"BrtSupAddin", f:parsenoop }, +0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, +0x029D: { n:"BrtCsProtection", f:parsenoop }, +0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, +0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, +0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, +0x02A2: { n:"BrtEndRRSort", f:parsenoop }, +0x02A3: { n:"BrtRRSortItem", f:parsenoop }, +0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, +0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, +0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, +0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, +0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, +0x0400: { n:"BrtRwDescent", f:parsenoop }, +0x0401: { n:"BrtKnownFonts", f:parsenoop }, +0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, +0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, +0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, +0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, +0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, +0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, +0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, +0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, +0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, +0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, +0x040C: { n:"BrtNameExt", f:parsenoop }, +0x040D: { n:"BrtPCDH14", f:parsenoop }, +0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, +0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, +0x0410: { n:"BrtSXTH14", f:parsenoop }, +0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, +0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, +0x0413: { n:"BrtSparkline", f:parsenoop }, +0x0414: { n:"BrtSXDI14", f:parsenoop }, +0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, +0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, +0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, +0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, +0x0419: { n:"BrtEndCFRule14", f:parsenoop }, +0x041A: { n:"BrtCFVO14", f:parsenoop }, +0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, +0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, +0x041D: { n:"BrtDVal14", f:parsenoop }, +0x041E: { n:"BrtBeginDVals14", f:parsenoop }, +0x041F: { n:"BrtColor14", f:parsenoop }, +0x0420: { n:"BrtBeginSparklines", f:parsenoop }, +0x0421: { n:"BrtEndSparklines", f:parsenoop }, +0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, +0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, +0x0425: { n:"BrtSXVD14", f:parsenoop }, +0x0426: { n:"BrtBeginSxview14", f:parsenoop }, +0x0427: { n:"BrtEndSxview14", f:parsenoop }, +0x042A: { n:"BrtBeginPCD14", f:parsenoop }, +0x042B: { n:"BrtEndPCD14", f:parsenoop }, +0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, +0x042D: { n:"BrtEndExtConn14", f:parsenoop }, +0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, +0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, +0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, +0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, +0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, +0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, +0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, +0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, +0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, +0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, +0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, +0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, +0x043B: { n:"BrtBeginSlicer", f:parsenoop }, +0x043C: { n:"BrtEndSlicer", f:parsenoop }, +0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, +0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, +0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, +0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, +0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, +0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, +0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, +0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, +0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, +0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, +0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, +0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, +0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, +0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, +0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, +0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, +0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, +0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, +0x044F: { n:"BrtRangeProtection14", f:parsenoop }, +0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, +0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, +0x0457: { n:"BrtList14", f:parsenoop }, +0x0458: { n:"BrtCFIcon", f:parsenoop }, +0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, +0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, +0x045B: { n:"BrtBeginSlicers", f:parsenoop }, +0x045C: { n:"BrtEndSlicers", f:parsenoop }, +0x045D: { n:"BrtWbProp14", f:parsenoop }, +0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, +0x045F: { n:"BrtEndSXEdit", f:parsenoop }, +0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, +0x0461: { n:"BrtEndSXEdits", f:parsenoop }, +0x0462: { n:"BrtBeginSXChange", f:parsenoop }, +0x0463: { n:"BrtEndSXChange", f:parsenoop }, +0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, +0x0465: { n:"BrtEndSXChanges", f:parsenoop }, +0x0466: { n:"BrtSXTupleItems", f:parsenoop }, +0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, +0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, +0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, +0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, +0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, +0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, +0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, +0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, +0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, +0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, +0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, +0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, +0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, +0x0475: { n:"BrtPCDField14", f:parsenoop }, +0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, +0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, +0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, +0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, +0x047A: { n:"BrtCFRuleExt", f:parsenoop }, +0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, +0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, +0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, +0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, +0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, +0x0481: { n:"BrtEndSortCond14", f:parsenoop }, +0x0482: { n:"BrtEndDVals14", f:parsenoop }, +0x0483: { n:"BrtEndIconSet14", f:parsenoop }, +0x0484: { n:"BrtEndDatabar14", f:parsenoop }, +0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, +0x0486: { n:"BrtEndColorScale14", f:parsenoop }, +0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, +0x0488: { n:"BrtEndSxrules14", f:parsenoop }, +0x0489: { n:"BrtBeginPRule14", f:parsenoop }, +0x048A: { n:"BrtEndPRule14", f:parsenoop }, +0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, +0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, +0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, +0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, +0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, +0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, +0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, +0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, +0x0493: { n:"BrtDxf14", f:parsenoop }, +0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, +0x0495: { n:"BrtEndDxf14s", f:parsenoop }, +0x0499: { n:"BrtFilter14", f:parsenoop }, +0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, +0x049C: { n:"BrtCustomFilter14", f:parsenoop }, +0x049D: { n:"BrtIconFilter14", f:parsenoop }, +0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, +0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, +0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, +0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, +0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, +0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, +0x0805: { n:"BrtPivotTableRef", f:parsenoop }, +0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, +0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, +0x0808: { n:"BrtEndSxvcells", f:parsenoop }, +0x0809: { n:"BrtBeginSxRow", f:parsenoop }, +0x080A: { n:"BrtEndSxRow", f:parsenoop }, +0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, +0x0813: { n:"BrtQsi15", f:parsenoop }, +0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, +0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, +0x0816: { n:"BrtWebExtension", f:parsenoop }, +0x0817: { n:"BrtAbsPath15", f:parsenoop }, +0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, +0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, +0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, +0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, +0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, +0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, +0x081F: { n:"BrtSxFilter15", f:parsenoop }, +0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, +0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, +0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, +0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, +0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, +0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, +0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, +0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, +0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, +0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, +0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, +0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, +0x082C: { n:"BrtPCDH15", f:parsenoop }, +0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, +0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, +0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, +0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, +0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, +0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, +0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, +0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, +0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, +0x0836: { n:"BrtDxf15", f:parsenoop }, +0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, +0x0838: { n:"brtEndDxfs15", f:parsenoop }, +0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, +0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, +0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, +0x083C: { n:"BrtItemUniqueName", f:parsenoop }, +0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, +0x083E: { n:"BrtEndExtConn15", f:parsenoop }, +0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, +0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, +0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, +0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, +0x0843: { n:"BrtTextPr15", f:parsenoop }, +0x0844: { n:"BrtRangePr15", f:parsenoop }, +0x0845: { n:"BrtDbCommand15", f:parsenoop }, +0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, +0x0847: { n:"BrtEndDbTables15", f:parsenoop }, +0x0848: { n:"BrtDbTable15", f:parsenoop }, +0x0849: { n:"BrtBeginDataModel", f:parsenoop }, +0x084A: { n:"BrtEndDataModel", f:parsenoop }, +0x084B: { n:"BrtBeginModelTables", f:parsenoop }, +0x084C: { n:"BrtEndModelTables", f:parsenoop }, +0x084D: { n:"BrtModelTable", f:parsenoop }, +0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, +0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, +0x0850: { n:"BrtModelRelationship", f:parsenoop }, +0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, +0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, +0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, +0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, +0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, +0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, +0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, +0x0858: { n:"BrtSXDI15", f:parsenoop }, +0xFFFF: { n:"", f:parsenoop } }; var evert_RE = evert_key(XLSBRecordEnum, 'n'); /* [MS-XLS] 2.3 Record Enumeration */ var XLSRecordEnum = { - 0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, - 0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, - 0x0006: { n:"Formula", f:parse_Formula }, - 0x0009: { n:'BOF', f:parse_BOF }, - 0x000a: { n:'EOF', f:parse_EOF }, - 0x000c: { n:"CalcCount", f:parse_CalcCount }, - 0x000d: { n:"CalcMode", f:parse_CalcMode }, - 0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, - 0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, - 0x0010: { n:"CalcDelta", f:parse_CalcDelta }, - 0x0011: { n:"CalcIter", f:parse_CalcIter }, - 0x0012: { n:"Protect", f:parse_Protect }, - 0x0013: { n:"Password", f:parse_Password }, - 0x0014: { n:"Header", f:parse_Header }, - 0x0015: { n:"Footer", f:parse_Footer }, - 0x0017: { n:"ExternSheet", f:parse_ExternSheet }, - 0x0018: { n:"Lbl", f:parse_Lbl }, - 0x0019: { n:"WinProtect", f:parse_WinProtect }, - 0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, - 0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, - 0x001c: { n:"Note", f:parse_Note }, - 0x001d: { n:"Selection", f:parse_Selection }, - 0x0022: { n:"Date1904", f:parse_Date1904 }, - 0x0023: { n:"ExternName", f:parse_ExternName }, - 0x0026: { n:"LeftMargin", f:parse_LeftMargin }, - 0x0027: { n:"RightMargin", f:parse_RightMargin }, - 0x0028: { n:"TopMargin", f:parse_TopMargin }, - 0x0029: { n:"BottomMargin", f:parse_BottomMargin }, - 0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, - 0x002b: { n:"PrintGrid", f:parse_PrintGrid }, - 0x002f: { n:"FilePass", f:parse_FilePass }, - 0x0031: { n:"Font", f:parse_Font }, - 0x0033: { n:"PrintSize", f:parse_PrintSize }, - 0x003c: { n:"Continue", f:parse_Continue }, - 0x003d: { n:"Window1", f:parse_Window1 }, - 0x0040: { n:"Backup", f:parse_Backup }, - 0x0041: { n:"Pane", f:parse_Pane }, - 0x0042: { n:'CodePage', f:parse_CodePage }, - 0x004d: { n:"Pls", f:parse_Pls }, - 0x0050: { n:"DCon", f:parse_DCon }, - 0x0051: { n:"DConRef", f:parse_DConRef }, - 0x0052: { n:"DConName", f:parse_DConName }, - 0x0055: { n:"DefColWidth", f:parse_DefColWidth }, - 0x0059: { n:"XCT", f:parse_XCT }, - 0x005a: { n:"CRN", f:parse_CRN }, - 0x005b: { n:"FileSharing", f:parse_FileSharing }, - 0x005c: { n:'WriteAccess', f:parse_WriteAccess }, - 0x005d: { n:"Obj", f:parse_Obj }, - 0x005e: { n:"Uncalced", f:parse_Uncalced }, - 0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, - 0x0060: { n:"Template", f:parse_Template }, - 0x0061: { n:"Intl", f:parse_Intl }, - 0x0063: { n:"ObjProtect", f:parse_ObjProtect }, - 0x007d: { n:"ColInfo", f:parse_ColInfo }, - 0x0080: { n:"Guts", f:parse_Guts }, - 0x0081: { n:"WsBool", f:parse_WsBool }, - 0x0082: { n:"GridSet", f:parse_GridSet }, - 0x0083: { n:"HCenter", f:parse_HCenter }, - 0x0084: { n:"VCenter", f:parse_VCenter }, - 0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, - 0x0086: { n:"WriteProtect", f:parse_WriteProtect }, - 0x008c: { n:"Country", f:parse_Country }, - 0x008d: { n:"HideObj", f:parse_HideObj }, - 0x0090: { n:"Sort", f:parse_Sort }, - 0x0092: { n:"Palette", f:parse_Palette }, - 0x0097: { n:"Sync", f:parse_Sync }, - 0x0098: { n:"LPr", f:parse_LPr }, - 0x0099: { n:"DxGCol", f:parse_DxGCol }, - 0x009a: { n:"FnGroupName", f:parse_FnGroupName }, - 0x009b: { n:"FilterMode", f:parse_FilterMode }, - 0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, - 0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, - 0x009e: { n:"AutoFilter", f:parse_AutoFilter }, - 0x00a0: { n:"Scl", f:parse_Scl }, - 0x00a1: { n:"Setup", f:parse_Setup }, - 0x00ae: { n:"ScenMan", f:parse_ScenMan }, - 0x00af: { n:"SCENARIO", f:parse_SCENARIO }, - 0x00b0: { n:"SxView", f:parse_SxView }, - 0x00b1: { n:"Sxvd", f:parse_Sxvd }, - 0x00b2: { n:"SXVI", f:parse_SXVI }, - 0x00b4: { n:"SxIvd", f:parse_SxIvd }, - 0x00b5: { n:"SXLI", f:parse_SXLI }, - 0x00b6: { n:"SXPI", f:parse_SXPI }, - 0x00b8: { n:"DocRoute", f:parse_DocRoute }, - 0x00b9: { n:"RecipName", f:parse_RecipName }, - 0x00bd: { n:"MulRk", f:parse_MulRk }, - 0x00be: { n:"MulBlank", f:parse_MulBlank }, - 0x00c1: { n:'Mms', f:parse_Mms }, - 0x00c5: { n:"SXDI", f:parse_SXDI }, - 0x00c6: { n:"SXDB", f:parse_SXDB }, - 0x00c7: { n:"SXFDB", f:parse_SXFDB }, - 0x00c8: { n:"SXDBB", f:parse_SXDBB }, - 0x00c9: { n:"SXNum", f:parse_SXNum }, - 0x00ca: { n:"SxBool", f:parse_SxBool }, - 0x00cb: { n:"SxErr", f:parse_SxErr }, - 0x00cc: { n:"SXInt", f:parse_SXInt }, - 0x00cd: { n:"SXString", f:parse_SXString }, - 0x00ce: { n:"SXDtr", f:parse_SXDtr }, - 0x00cf: { n:"SxNil", f:parse_SxNil }, - 0x00d0: { n:"SXTbl", f:parse_SXTbl }, - 0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, - 0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, - 0x00d3: { n:"ObProj", f:parse_ObProj }, - 0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, - 0x00d7: { n:"DBCell", f:parse_DBCell }, - 0x00d8: { n:"SXRng", f:parse_SXRng }, - 0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, - 0x00da: { n:"BookBool", f:parse_BookBool }, - 0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, - 0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, - 0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, - 0x00e0: { n:"XF", f:parse_XF }, - 0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, - 0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, - 0x00e3: { n:"SXVS", f:parse_SXVS }, - 0x00e5: { n:"MergeCells", f:parse_MergeCells }, - 0x00e9: { n:"BkHim", f:parse_BkHim }, - 0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, - 0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, - 0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, - 0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, - 0x00f0: { n:"SxRule", f:parse_SxRule }, - 0x00f1: { n:"SXEx", f:parse_SXEx }, - 0x00f2: { n:"SxFilt", f:parse_SxFilt }, - 0x00f4: { n:"SxDXF", f:parse_SxDXF }, - 0x00f5: { n:"SxItm", f:parse_SxItm }, - 0x00f6: { n:"SxName", f:parse_SxName }, - 0x00f7: { n:"SxSelect", f:parse_SxSelect }, - 0x00f8: { n:"SXPair", f:parse_SXPair }, - 0x00f9: { n:"SxFmla", f:parse_SxFmla }, - 0x00fb: { n:"SxFormat", f:parse_SxFormat }, - 0x00fc: { n:"SST", f:parse_SST }, - 0x00fd: { n:"LabelSst", f:parse_LabelSst }, - 0x00ff: { n:"ExtSST", f:parse_ExtSST }, - 0x0100: { n:"SXVDEx", f:parse_SXVDEx }, - 0x0103: { n:"SXFormula", f:parse_SXFormula }, - 0x0122: { n:"SXDBEx", f:parse_SXDBEx }, - 0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, - 0x0138: { n:"RRDHead", f:parse_RRDHead }, - 0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, - 0x013d: { n:"RRTabId", f:parse_RRTabId }, - 0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, - 0x013f: { n:"RRSort", f:parse_RRSort }, - 0x0140: { n:"RRDMove", f:parse_RRDMove }, - 0x014a: { n:"RRFormat", f:parse_RRFormat }, - 0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, - 0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, - 0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, - 0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, - 0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, - 0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, - 0x0152: { n:"RRDConflict", f:parse_RRDConflict }, - 0x0153: { n:"RRDDefName", f:parse_RRDDefName }, - 0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, - 0x015f: { n:"LRng", f:parse_LRng }, - 0x0160: { n:"UsesELFs", f:parse_UsesELFs }, - 0x0161: { n:"DSF", f:parse_DSF }, - 0x0191: { n:"CUsr", f:parse_CUsr }, - 0x0192: { n:"CbUsr", f:parse_CbUsr }, - 0x0193: { n:"UsrInfo", f:parse_UsrInfo }, - 0x0194: { n:"UsrExcl", f:parse_UsrExcl }, - 0x0195: { n:"FileLock", f:parse_FileLock }, - 0x0196: { n:"RRDInfo", f:parse_RRDInfo }, - 0x0197: { n:"BCUsrs", f:parse_BCUsrs }, - 0x0198: { n:"UsrChk", f:parse_UsrChk }, - 0x01a9: { n:"UserBView", f:parse_UserBView }, - 0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, - 0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, - 0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, - 0x01ad: { n:"Qsi", f:parse_Qsi }, - 0x01ae: { n:"SupBook", f:parse_SupBook }, - 0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, - 0x01b0: { n:"CondFmt", f:parse_CondFmt }, - 0x01b1: { n:"CF", f:parse_CF }, - 0x01b2: { n:"DVal", f:parse_DVal }, - 0x01b5: { n:"DConBin", f:parse_DConBin }, - 0x01b6: { n:"TxO", f:parse_TxO }, - 0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, - 0x01b8: { n:"HLink", f:parse_HLink }, - 0x01b9: { n:"Lel", f:parse_Lel }, - 0x01ba: { n:"CodeName", f:parse_XLSCodeName }, - 0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, - 0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, - 0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, - 0x01be: { n:"Dv", f:parse_Dv }, - 0x01c0: { n:"Excel9File", f:parse_Excel9File }, - 0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, - 0x01c2: { n:"EntExU2", f:parse_EntExU2 }, - 0x0200: { n:"Dimensions", f:parse_Dimensions }, - 0x0201: { n:"Blank", f:parse_Blank }, - 0x0203: { n:"Number", f:parse_Number }, - 0x0204: { n:"Label", f:parse_Label }, - 0x0205: { n:"BoolErr", f:parse_BoolErr }, - 0x0207: { n:"String", f:parse_String }, - 0x0208: { n:'Row', f:parse_Row }, - 0x020b: { n:"Index", f:parse_Index }, - 0x0221: { n:"Array", f:parse_Array }, - 0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, - 0x0236: { n:"Table", f:parse_Table }, - 0x023e: { n:"Window2", f:parse_Window2 }, - 0x027e: { n:"RK", f:parse_RK }, - 0x0293: { n:"Style", f:parse_Style }, - 0x0418: { n:"BigName", f:parse_BigName }, - 0x041e: { n:"Format", f:parse_Format }, - 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, - 0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, - 0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, - 0x0801: { n:"WebPub", f:parse_WebPub }, - 0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, - 0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, - 0x0804: { n:"ExtString", f:parse_ExtString }, - 0x0805: { n:"TxtQry", f:parse_TxtQry }, - 0x0806: { n:"Qsir", f:parse_Qsir }, - 0x0807: { n:"Qsif", f:parse_Qsif }, - 0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, - 0x0809: { n:'BOF', f:parse_BOF }, - 0x080a: { n:"OleDbConn", f:parse_OleDbConn }, - 0x080b: { n:"WOpt", f:parse_WOpt }, - 0x080c: { n:"SXViewEx", f:parse_SXViewEx }, - 0x080d: { n:"SXTH", f:parse_SXTH }, - 0x080e: { n:"SXPIEx", f:parse_SXPIEx }, - 0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, - 0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, - 0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, - 0x0813: { n:"RealTimeData", f:parse_RealTimeData }, - 0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, - 0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, - 0x0852: { n:"StartBlock", f:parse_StartBlock }, - 0x0853: { n:"EndBlock", f:parse_EndBlock }, - 0x0854: { n:"StartObject", f:parse_StartObject }, - 0x0855: { n:"EndObject", f:parse_EndObject }, - 0x0856: { n:"CatLab", f:parse_CatLab }, - 0x0857: { n:"YMult", f:parse_YMult }, - 0x0858: { n:"SXViewLink", f:parse_SXViewLink }, - 0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, - 0x085a: { n:"FrtFontList", f:parse_FrtFontList }, - 0x0862: { n:"SheetExt", f:parse_SheetExt }, - 0x0863: { n:"BookExt", f:parse_BookExt, r:12}, - 0x0864: { n:"SXAddl", f:parse_SXAddl }, - 0x0865: { n:"CrErr", f:parse_CrErr }, - 0x0866: { n:"HFPicture", f:parse_HFPicture }, - 0x0867: { n:'FeatHdr', f:parse_FeatHdr }, - 0x0868: { n:"Feat", f:parse_Feat }, - 0x086a: { n:"DataLabExt", f:parse_DataLabExt }, - 0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, - 0x086c: { n:"CellWatch", f:parse_CellWatch }, - 0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, - 0x0872: { n:"Feature11", f:parse_Feature11 }, - 0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, - 0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, - 0x0876: { n:"DConn", f:parse_DConn }, - 0x0877: { n:"List12", f:parse_List12 }, - 0x0878: { n:"Feature12", f:parse_Feature12 }, - 0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, - 0x087a: { n:"CF12", f:parse_CF12 }, - 0x087b: { n:"CFEx", f:parse_CFEx }, - 0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, - 0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, - 0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, - 0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, - 0x0884: { n:"MDTInfo", f:parse_MDTInfo }, - 0x0885: { n:"MDXStr", f:parse_MDXStr }, - 0x0886: { n:"MDXTuple", f:parse_MDXTuple }, - 0x0887: { n:"MDXSet", f:parse_MDXSet }, - 0x0888: { n:"MDXProp", f:parse_MDXProp }, - 0x0889: { n:"MDXKPI", f:parse_MDXKPI }, - 0x088a: { n:"MDB", f:parse_MDB }, - 0x088b: { n:"PLV", f:parse_PLV }, - 0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, - 0x088d: { n:"DXF", f:parse_DXF }, - 0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, - 0x088f: { n:"TableStyle", f:parse_TableStyle }, - 0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, - 0x0892: { n:"StyleExt", f:parse_StyleExt }, - 0x0893: { n:"NamePublish", f:parse_NamePublish }, - 0x0894: { n:"NameCmt", f:parse_NameCmt }, - 0x0895: { n:"SortData", f:parse_SortData }, - 0x0896: { n:"Theme", f:parse_Theme, r:12 }, - 0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, - 0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, - 0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, - 0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, - 0x089b: { n:"CompressPictures", f:parse_CompressPictures }, - 0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, - 0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, - 0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, - 0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, - 0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, - 0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, - 0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, - 0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, - 0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, - 0x1001: { n:"Units", f:parse_Units }, - 0x1002: { n:"Chart", f:parse_Chart }, - 0x1003: { n:"Series", f:parse_Series }, - 0x1006: { n:"DataFormat", f:parse_DataFormat }, - 0x1007: { n:"LineFormat", f:parse_LineFormat }, - 0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, - 0x100a: { n:"AreaFormat", f:parse_AreaFormat }, - 0x100b: { n:"PieFormat", f:parse_PieFormat }, - 0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, - 0x100d: { n:"SeriesText", f:parse_SeriesText }, - 0x1014: { n:"ChartFormat", f:parse_ChartFormat }, - 0x1015: { n:"Legend", f:parse_Legend }, - 0x1016: { n:"SeriesList", f:parse_SeriesList }, - 0x1017: { n:"Bar", f:parse_Bar }, - 0x1018: { n:"Line", f:parse_Line }, - 0x1019: { n:"Pie", f:parse_Pie }, - 0x101a: { n:"Area", f:parse_Area }, - 0x101b: { n:"Scatter", f:parse_Scatter }, - 0x101c: { n:"CrtLine", f:parse_CrtLine }, - 0x101d: { n:"Axis", f:parse_Axis }, - 0x101e: { n:"Tick", f:parse_Tick }, - 0x101f: { n:"ValueRange", f:parse_ValueRange }, - 0x1020: { n:"CatSerRange", f:parse_CatSerRange }, - 0x1021: { n:"AxisLine", f:parse_AxisLine }, - 0x1022: { n:"CrtLink", f:parse_CrtLink }, - 0x1024: { n:"DefaultText", f:parse_DefaultText }, - 0x1025: { n:"Text", f:parse_Text }, - 0x1026: { n:"FontX", f:parse_FontX }, - 0x1027: { n:"ObjectLink", f:parse_ObjectLink }, - 0x1032: { n:"Frame", f:parse_Frame }, - 0x1033: { n:"Begin", f:parse_Begin }, - 0x1034: { n:"End", f:parse_End }, - 0x1035: { n:"PlotArea", f:parse_PlotArea }, - 0x103a: { n:"Chart3d", f:parse_Chart3d }, - 0x103c: { n:"PicF", f:parse_PicF }, - 0x103d: { n:"DropBar", f:parse_DropBar }, - 0x103e: { n:"Radar", f:parse_Radar }, - 0x103f: { n:"Surf", f:parse_Surf }, - 0x1040: { n:"RadarArea", f:parse_RadarArea }, - 0x1041: { n:"AxisParent", f:parse_AxisParent }, - 0x1043: { n:"LegendException", f:parse_LegendException }, - 0x1044: { n:"ShtProps", f:parse_ShtProps }, - 0x1045: { n:"SerToCrt", f:parse_SerToCrt }, - 0x1046: { n:"AxesUsed", f:parse_AxesUsed }, - 0x1048: { n:"SBaseRef", f:parse_SBaseRef }, - 0x104a: { n:"SerParent", f:parse_SerParent }, - 0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, - 0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, - 0x104f: { n:"Pos", f:parse_Pos }, - 0x1050: { n:"AlRuns", f:parse_AlRuns }, - 0x1051: { n:"BRAI", f:parse_BRAI }, - 0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, - 0x105c: { n:"ClrtClient", f:parse_ClrtClient }, - 0x105d: { n:"SerFmt", f:parse_SerFmt }, - 0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, - 0x1060: { n:"Fbi", f:parse_Fbi }, - 0x1061: { n:"BopPop", f:parse_BopPop }, - 0x1062: { n:"AxcExt", f:parse_AxcExt }, - 0x1063: { n:"Dat", f:parse_Dat }, - 0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, - 0x1065: { n:"SIIndex", f:parse_SIIndex }, - 0x1066: { n:"GelFrame", f:parse_GelFrame }, - 0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, - 0x1068: { n:"Fbi2", f:parse_Fbi2 }, +0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, +0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, +0x0006: { n:"Formula", f:parse_Formula }, +0x0009: { n:'BOF', f:parse_BOF }, +0x000a: { n:'EOF', f:parse_EOF }, +0x000c: { n:"CalcCount", f:parse_CalcCount }, +0x000d: { n:"CalcMode", f:parse_CalcMode }, +0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, +0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, +0x0010: { n:"CalcDelta", f:parse_CalcDelta }, +0x0011: { n:"CalcIter", f:parse_CalcIter }, +0x0012: { n:"Protect", f:parse_Protect }, +0x0013: { n:"Password", f:parse_Password }, +0x0014: { n:"Header", f:parse_Header }, +0x0015: { n:"Footer", f:parse_Footer }, +0x0017: { n:"ExternSheet", f:parse_ExternSheet }, +0x0018: { n:"Lbl", f:parse_Lbl }, +0x0019: { n:"WinProtect", f:parse_WinProtect }, +0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, +0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, +0x001c: { n:"Note", f:parse_Note }, +0x001d: { n:"Selection", f:parse_Selection }, +0x0022: { n:"Date1904", f:parse_Date1904 }, +0x0023: { n:"ExternName", f:parse_ExternName }, +0x0026: { n:"LeftMargin", f:parse_LeftMargin }, +0x0027: { n:"RightMargin", f:parse_RightMargin }, +0x0028: { n:"TopMargin", f:parse_TopMargin }, +0x0029: { n:"BottomMargin", f:parse_BottomMargin }, +0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, +0x002b: { n:"PrintGrid", f:parse_PrintGrid }, +0x002f: { n:"FilePass", f:parse_FilePass }, +0x0031: { n:"Font", f:parse_Font }, +0x0033: { n:"PrintSize", f:parse_PrintSize }, +0x003c: { n:"Continue", f:parse_Continue }, +0x003d: { n:"Window1", f:parse_Window1 }, +0x0040: { n:"Backup", f:parse_Backup }, +0x0041: { n:"Pane", f:parse_Pane }, +0x0042: { n:'CodePage', f:parse_CodePage }, +0x004d: { n:"Pls", f:parse_Pls }, +0x0050: { n:"DCon", f:parse_DCon }, +0x0051: { n:"DConRef", f:parse_DConRef }, +0x0052: { n:"DConName", f:parse_DConName }, +0x0055: { n:"DefColWidth", f:parse_DefColWidth }, +0x0059: { n:"XCT", f:parse_XCT }, +0x005a: { n:"CRN", f:parse_CRN }, +0x005b: { n:"FileSharing", f:parse_FileSharing }, +0x005c: { n:'WriteAccess', f:parse_WriteAccess }, +0x005d: { n:"Obj", f:parse_Obj }, +0x005e: { n:"Uncalced", f:parse_Uncalced }, +0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, +0x0060: { n:"Template", f:parse_Template }, +0x0061: { n:"Intl", f:parse_Intl }, +0x0063: { n:"ObjProtect", f:parse_ObjProtect }, +0x007d: { n:"ColInfo", f:parse_ColInfo }, +0x0080: { n:"Guts", f:parse_Guts }, +0x0081: { n:"WsBool", f:parse_WsBool }, +0x0082: { n:"GridSet", f:parse_GridSet }, +0x0083: { n:"HCenter", f:parse_HCenter }, +0x0084: { n:"VCenter", f:parse_VCenter }, +0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, +0x0086: { n:"WriteProtect", f:parse_WriteProtect }, +0x008c: { n:"Country", f:parse_Country }, +0x008d: { n:"HideObj", f:parse_HideObj }, +0x0090: { n:"Sort", f:parse_Sort }, +0x0092: { n:"Palette", f:parse_Palette }, +0x0097: { n:"Sync", f:parse_Sync }, +0x0098: { n:"LPr", f:parse_LPr }, +0x0099: { n:"DxGCol", f:parse_DxGCol }, +0x009a: { n:"FnGroupName", f:parse_FnGroupName }, +0x009b: { n:"FilterMode", f:parse_FilterMode }, +0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, +0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, +0x009e: { n:"AutoFilter", f:parse_AutoFilter }, +0x00a0: { n:"Scl", f:parse_Scl }, +0x00a1: { n:"Setup", f:parse_Setup }, +0x00ae: { n:"ScenMan", f:parse_ScenMan }, +0x00af: { n:"SCENARIO", f:parse_SCENARIO }, +0x00b0: { n:"SxView", f:parse_SxView }, +0x00b1: { n:"Sxvd", f:parse_Sxvd }, +0x00b2: { n:"SXVI", f:parse_SXVI }, +0x00b4: { n:"SxIvd", f:parse_SxIvd }, +0x00b5: { n:"SXLI", f:parse_SXLI }, +0x00b6: { n:"SXPI", f:parse_SXPI }, +0x00b8: { n:"DocRoute", f:parse_DocRoute }, +0x00b9: { n:"RecipName", f:parse_RecipName }, +0x00bd: { n:"MulRk", f:parse_MulRk }, +0x00be: { n:"MulBlank", f:parse_MulBlank }, +0x00c1: { n:'Mms', f:parse_Mms }, +0x00c5: { n:"SXDI", f:parse_SXDI }, +0x00c6: { n:"SXDB", f:parse_SXDB }, +0x00c7: { n:"SXFDB", f:parse_SXFDB }, +0x00c8: { n:"SXDBB", f:parse_SXDBB }, +0x00c9: { n:"SXNum", f:parse_SXNum }, +0x00ca: { n:"SxBool", f:parse_SxBool }, +0x00cb: { n:"SxErr", f:parse_SxErr }, +0x00cc: { n:"SXInt", f:parse_SXInt }, +0x00cd: { n:"SXString", f:parse_SXString }, +0x00ce: { n:"SXDtr", f:parse_SXDtr }, +0x00cf: { n:"SxNil", f:parse_SxNil }, +0x00d0: { n:"SXTbl", f:parse_SXTbl }, +0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, +0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, +0x00d3: { n:"ObProj", f:parse_ObProj }, +0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, +0x00d7: { n:"DBCell", f:parse_DBCell }, +0x00d8: { n:"SXRng", f:parse_SXRng }, +0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, +0x00da: { n:"BookBool", f:parse_BookBool }, +0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, +0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, +0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, +0x00e0: { n:"XF", f:parse_XF }, +0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, +0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, +0x00e3: { n:"SXVS", f:parse_SXVS }, +0x00e5: { n:"MergeCells", f:parse_MergeCells }, +0x00e9: { n:"BkHim", f:parse_BkHim }, +0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, +0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, +0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, +0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, +0x00f0: { n:"SxRule", f:parse_SxRule }, +0x00f1: { n:"SXEx", f:parse_SXEx }, +0x00f2: { n:"SxFilt", f:parse_SxFilt }, +0x00f4: { n:"SxDXF", f:parse_SxDXF }, +0x00f5: { n:"SxItm", f:parse_SxItm }, +0x00f6: { n:"SxName", f:parse_SxName }, +0x00f7: { n:"SxSelect", f:parse_SxSelect }, +0x00f8: { n:"SXPair", f:parse_SXPair }, +0x00f9: { n:"SxFmla", f:parse_SxFmla }, +0x00fb: { n:"SxFormat", f:parse_SxFormat }, +0x00fc: { n:"SST", f:parse_SST }, +0x00fd: { n:"LabelSst", f:parse_LabelSst }, +0x00ff: { n:"ExtSST", f:parse_ExtSST }, +0x0100: { n:"SXVDEx", f:parse_SXVDEx }, +0x0103: { n:"SXFormula", f:parse_SXFormula }, +0x0122: { n:"SXDBEx", f:parse_SXDBEx }, +0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, +0x0138: { n:"RRDHead", f:parse_RRDHead }, +0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, +0x013d: { n:"RRTabId", f:parse_RRTabId }, +0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, +0x013f: { n:"RRSort", f:parse_RRSort }, +0x0140: { n:"RRDMove", f:parse_RRDMove }, +0x014a: { n:"RRFormat", f:parse_RRFormat }, +0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, +0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, +0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, +0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, +0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, +0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, +0x0152: { n:"RRDConflict", f:parse_RRDConflict }, +0x0153: { n:"RRDDefName", f:parse_RRDDefName }, +0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, +0x015f: { n:"LRng", f:parse_LRng }, +0x0160: { n:"UsesELFs", f:parse_UsesELFs }, +0x0161: { n:"DSF", f:parse_DSF }, +0x0191: { n:"CUsr", f:parse_CUsr }, +0x0192: { n:"CbUsr", f:parse_CbUsr }, +0x0193: { n:"UsrInfo", f:parse_UsrInfo }, +0x0194: { n:"UsrExcl", f:parse_UsrExcl }, +0x0195: { n:"FileLock", f:parse_FileLock }, +0x0196: { n:"RRDInfo", f:parse_RRDInfo }, +0x0197: { n:"BCUsrs", f:parse_BCUsrs }, +0x0198: { n:"UsrChk", f:parse_UsrChk }, +0x01a9: { n:"UserBView", f:parse_UserBView }, +0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, +0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, +0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, +0x01ad: { n:"Qsi", f:parse_Qsi }, +0x01ae: { n:"SupBook", f:parse_SupBook }, +0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, +0x01b0: { n:"CondFmt", f:parse_CondFmt }, +0x01b1: { n:"CF", f:parse_CF }, +0x01b2: { n:"DVal", f:parse_DVal }, +0x01b5: { n:"DConBin", f:parse_DConBin }, +0x01b6: { n:"TxO", f:parse_TxO }, +0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, +0x01b8: { n:"HLink", f:parse_HLink }, +0x01b9: { n:"Lel", f:parse_Lel }, +0x01ba: { n:"CodeName", f:parse_XLSCodeName }, +0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, +0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, +0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, +0x01be: { n:"Dv", f:parse_Dv }, +0x01c0: { n:"Excel9File", f:parse_Excel9File }, +0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, +0x01c2: { n:"EntExU2", f:parse_EntExU2 }, +0x0200: { n:"Dimensions", f:parse_Dimensions }, +0x0201: { n:"Blank", f:parse_Blank }, +0x0203: { n:"Number", f:parse_Number }, +0x0204: { n:"Label", f:parse_Label }, +0x0205: { n:"BoolErr", f:parse_BoolErr }, +0x0207: { n:"String", f:parse_String }, +0x0208: { n:'Row', f:parse_Row }, +0x020b: { n:"Index", f:parse_Index }, +0x0221: { n:"Array", f:parse_Array }, +0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, +0x0236: { n:"Table", f:parse_Table }, +0x023e: { n:"Window2", f:parse_Window2 }, +0x027e: { n:"RK", f:parse_RK }, +0x0293: { n:"Style", f:parse_Style }, +0x0418: { n:"BigName", f:parse_BigName }, +0x041e: { n:"Format", f:parse_Format }, +0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, +0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, +0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, +0x0801: { n:"WebPub", f:parse_WebPub }, +0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, +0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, +0x0804: { n:"ExtString", f:parse_ExtString }, +0x0805: { n:"TxtQry", f:parse_TxtQry }, +0x0806: { n:"Qsir", f:parse_Qsir }, +0x0807: { n:"Qsif", f:parse_Qsif }, +0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, +0x0809: { n:'BOF', f:parse_BOF }, +0x080a: { n:"OleDbConn", f:parse_OleDbConn }, +0x080b: { n:"WOpt", f:parse_WOpt }, +0x080c: { n:"SXViewEx", f:parse_SXViewEx }, +0x080d: { n:"SXTH", f:parse_SXTH }, +0x080e: { n:"SXPIEx", f:parse_SXPIEx }, +0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, +0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, +0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, +0x0813: { n:"RealTimeData", f:parse_RealTimeData }, +0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, +0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, +0x0852: { n:"StartBlock", f:parse_StartBlock }, +0x0853: { n:"EndBlock", f:parse_EndBlock }, +0x0854: { n:"StartObject", f:parse_StartObject }, +0x0855: { n:"EndObject", f:parse_EndObject }, +0x0856: { n:"CatLab", f:parse_CatLab }, +0x0857: { n:"YMult", f:parse_YMult }, +0x0858: { n:"SXViewLink", f:parse_SXViewLink }, +0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, +0x085a: { n:"FrtFontList", f:parse_FrtFontList }, +0x0862: { n:"SheetExt", f:parse_SheetExt }, +0x0863: { n:"BookExt", f:parse_BookExt, r:12}, +0x0864: { n:"SXAddl", f:parse_SXAddl }, +0x0865: { n:"CrErr", f:parse_CrErr }, +0x0866: { n:"HFPicture", f:parse_HFPicture }, +0x0867: { n:'FeatHdr', f:parse_FeatHdr }, +0x0868: { n:"Feat", f:parse_Feat }, +0x086a: { n:"DataLabExt", f:parse_DataLabExt }, +0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, +0x086c: { n:"CellWatch", f:parse_CellWatch }, +0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, +0x0872: { n:"Feature11", f:parse_Feature11 }, +0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, +0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, +0x0876: { n:"DConn", f:parse_DConn }, +0x0877: { n:"List12", f:parse_List12 }, +0x0878: { n:"Feature12", f:parse_Feature12 }, +0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, +0x087a: { n:"CF12", f:parse_CF12 }, +0x087b: { n:"CFEx", f:parse_CFEx }, +0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, +0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, +0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, +0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, +0x0884: { n:"MDTInfo", f:parse_MDTInfo }, +0x0885: { n:"MDXStr", f:parse_MDXStr }, +0x0886: { n:"MDXTuple", f:parse_MDXTuple }, +0x0887: { n:"MDXSet", f:parse_MDXSet }, +0x0888: { n:"MDXProp", f:parse_MDXProp }, +0x0889: { n:"MDXKPI", f:parse_MDXKPI }, +0x088a: { n:"MDB", f:parse_MDB }, +0x088b: { n:"PLV", f:parse_PLV }, +0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, +0x088d: { n:"DXF", f:parse_DXF }, +0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, +0x088f: { n:"TableStyle", f:parse_TableStyle }, +0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, +0x0892: { n:"StyleExt", f:parse_StyleExt }, +0x0893: { n:"NamePublish", f:parse_NamePublish }, +0x0894: { n:"NameCmt", f:parse_NameCmt }, +0x0895: { n:"SortData", f:parse_SortData }, +0x0896: { n:"Theme", f:parse_Theme, r:12 }, +0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, +0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, +0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, +0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, +0x089b: { n:"CompressPictures", f:parse_CompressPictures }, +0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, +0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, +0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, +0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, +0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, +0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, +0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, +0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, +0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, +0x1001: { n:"Units", f:parse_Units }, +0x1002: { n:"Chart", f:parse_Chart }, +0x1003: { n:"Series", f:parse_Series }, +0x1006: { n:"DataFormat", f:parse_DataFormat }, +0x1007: { n:"LineFormat", f:parse_LineFormat }, +0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, +0x100a: { n:"AreaFormat", f:parse_AreaFormat }, +0x100b: { n:"PieFormat", f:parse_PieFormat }, +0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, +0x100d: { n:"SeriesText", f:parse_SeriesText }, +0x1014: { n:"ChartFormat", f:parse_ChartFormat }, +0x1015: { n:"Legend", f:parse_Legend }, +0x1016: { n:"SeriesList", f:parse_SeriesList }, +0x1017: { n:"Bar", f:parse_Bar }, +0x1018: { n:"Line", f:parse_Line }, +0x1019: { n:"Pie", f:parse_Pie }, +0x101a: { n:"Area", f:parse_Area }, +0x101b: { n:"Scatter", f:parse_Scatter }, +0x101c: { n:"CrtLine", f:parse_CrtLine }, +0x101d: { n:"Axis", f:parse_Axis }, +0x101e: { n:"Tick", f:parse_Tick }, +0x101f: { n:"ValueRange", f:parse_ValueRange }, +0x1020: { n:"CatSerRange", f:parse_CatSerRange }, +0x1021: { n:"AxisLine", f:parse_AxisLine }, +0x1022: { n:"CrtLink", f:parse_CrtLink }, +0x1024: { n:"DefaultText", f:parse_DefaultText }, +0x1025: { n:"Text", f:parse_Text }, +0x1026: { n:"FontX", f:parse_FontX }, +0x1027: { n:"ObjectLink", f:parse_ObjectLink }, +0x1032: { n:"Frame", f:parse_Frame }, +0x1033: { n:"Begin", f:parse_Begin }, +0x1034: { n:"End", f:parse_End }, +0x1035: { n:"PlotArea", f:parse_PlotArea }, +0x103a: { n:"Chart3d", f:parse_Chart3d }, +0x103c: { n:"PicF", f:parse_PicF }, +0x103d: { n:"DropBar", f:parse_DropBar }, +0x103e: { n:"Radar", f:parse_Radar }, +0x103f: { n:"Surf", f:parse_Surf }, +0x1040: { n:"RadarArea", f:parse_RadarArea }, +0x1041: { n:"AxisParent", f:parse_AxisParent }, +0x1043: { n:"LegendException", f:parse_LegendException }, +0x1044: { n:"ShtProps", f:parse_ShtProps }, +0x1045: { n:"SerToCrt", f:parse_SerToCrt }, +0x1046: { n:"AxesUsed", f:parse_AxesUsed }, +0x1048: { n:"SBaseRef", f:parse_SBaseRef }, +0x104a: { n:"SerParent", f:parse_SerParent }, +0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, +0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, +0x104f: { n:"Pos", f:parse_Pos }, +0x1050: { n:"AlRuns", f:parse_AlRuns }, +0x1051: { n:"BRAI", f:parse_BRAI }, +0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, +0x105c: { n:"ClrtClient", f:parse_ClrtClient }, +0x105d: { n:"SerFmt", f:parse_SerFmt }, +0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, +0x1060: { n:"Fbi", f:parse_Fbi }, +0x1061: { n:"BopPop", f:parse_BopPop }, +0x1062: { n:"AxcExt", f:parse_AxcExt }, +0x1063: { n:"Dat", f:parse_Dat }, +0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, +0x1065: { n:"SIIndex", f:parse_SIIndex }, +0x1066: { n:"GelFrame", f:parse_GelFrame }, +0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, +0x1068: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ - 0x0016: { n:"ExternCount", f:parsenoop }, - 0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ - 0x007f: { n:"ImData", f:parsenoop }, - 0x0087: { n:"Addin", f:parsenoop }, - 0x0088: { n:"Edg", f:parsenoop }, - 0x0089: { n:"Pub", f:parsenoop }, - 0x0091: { n:"Sub", f:parsenoop }, - 0x0094: { n:"LHRecord", f:parsenoop }, - 0x0095: { n:"LHNGraph", f:parsenoop }, - 0x0096: { n:"Sound", f:parsenoop }, - 0x00a9: { n:"CoordList", f:parsenoop }, - 0x00ab: { n:"GCW", f:parsenoop }, - 0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ - 0x00c2: { n:"AddMenu", f:parsenoop }, - 0x00c3: { n:"DelMenu", f:parsenoop }, - 0x00d6: { n:"RString", f:parsenoop }, - 0x00df: { n:"UDDesc", f:parsenoop }, - 0x00ea: { n:"TabIdConf", f:parsenoop }, - 0x0162: { n:"XL5Modify", f:parsenoop }, - 0x01a5: { n:"FileSharing2", f:parsenoop }, - 0x0218: { n:"Name", f:parsenoop }, - 0x0223: { n:"ExternName", f:parse_ExternName }, - 0x0231: { n:"Font", f:parsenoop }, - 0x0406: { n:"Formula", f:parse_Formula }, - 0x086d: { n:"FeatInfo", f:parsenoop }, - 0x0873: { n:"FeatInfo11", f:parsenoop }, - 0x0881: { n:"SXAddl12", f:parsenoop }, - 0x08c0: { n:"AutoWebPub", f:parsenoop }, - 0x08c1: { n:"ListObj", f:parsenoop }, - 0x08c2: { n:"ListField", f:parsenoop }, - 0x08c3: { n:"ListDV", f:parsenoop }, - 0x08c4: { n:"ListCondFmt", f:parsenoop }, - 0x08c5: { n:"ListCF", f:parsenoop }, - 0x08c6: { n:"FMQry", f:parsenoop }, - 0x08c7: { n:"FMSQry", f:parsenoop }, - 0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ - 0x08c9: { n:"LnExt", f:parsenoop }, - 0x08ca: { n:"MkrExt", f:parsenoop }, - 0x08cb: { n:"CrtCoopt", f:parsenoop }, +0x0000: { n:"Dimension", f:parsenoop }, +0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, +0x0005: { n:"BoolErr", f:parse_BoolErr }, +0x0007: { n:"String", f:parse_BIFF2STRING }, +0x0008: { n:"BIFF2ROW", f:parsenoop }, +0x000b: { n:"Index", f:parse_Index }, +0x001e: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, +0x001f: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ +0x0016: { n:"ExternCount", f:parsenoop }, +0x0025: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, +0x0032: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, +0x003e: { n:"BIFF2WINDOW2", f:parsenoop }, +0x0045: { n:"BIFF2FONTCLR", f:parsenoop }, +0x0056: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ +0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ +0x007f: { n:"ImData", f:parsenoop }, +0x0087: { n:"Addin", f:parsenoop }, +0x0088: { n:"Edg", f:parsenoop }, +0x0089: { n:"Pub", f:parsenoop }, +0x0091: { n:"Sub", f:parsenoop }, +0x0094: { n:"LHRecord", f:parsenoop }, +0x0095: { n:"LHNGraph", f:parsenoop }, +0x0096: { n:"Sound", f:parsenoop }, +0x00a9: { n:"CoordList", f:parsenoop }, +0x00ab: { n:"GCW", f:parsenoop }, +0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ +0x00c2: { n:"AddMenu", f:parsenoop }, +0x00c3: { n:"DelMenu", f:parsenoop }, +0x00d6: { n:"RString", f:parsenoop }, +0x00df: { n:"UDDesc", f:parsenoop }, +0x00ea: { n:"TabIdConf", f:parsenoop }, +0x0162: { n:"XL5Modify", f:parsenoop }, +0x01a5: { n:"FileSharing2", f:parsenoop }, +0x0209: { n:'BOF', f:parse_BOF }, +0x0218: { n:"Lbl", f:parse_Lbl }, +0x0223: { n:"ExternName", f:parse_ExternName }, +0x0231: { n:"Font", f:parsenoop }, +0x0406: { n:"Formula", f:parse_Formula }, +0x0409: { n:'BOF', f:parse_BOF }, +0x086d: { n:"FeatInfo", f:parsenoop }, +0x0873: { n:"FeatInfo11", f:parsenoop }, +0x0881: { n:"SXAddl12", f:parsenoop }, +0x08c0: { n:"AutoWebPub", f:parsenoop }, +0x08c1: { n:"ListObj", f:parsenoop }, +0x08c2: { n:"ListField", f:parsenoop }, +0x08c3: { n:"ListDV", f:parsenoop }, +0x08c4: { n:"ListCondFmt", f:parsenoop }, +0x08c5: { n:"ListCF", f:parsenoop }, +0x08c6: { n:"FMQry", f:parsenoop }, +0x08c7: { n:"FMSQry", f:parsenoop }, +0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ +0x08c9: { n:"LnExt", f:parsenoop }, +0x08ca: { n:"MkrExt", f:parsenoop }, +0x08cb: { n:"CrtCoopt", f:parsenoop }, - 0x0000: {} +0x0043: { n:"BIFF2XF", f:parsenoop }, +0x0243: { n:"BIFF3XF", f:parsenoop }, +0x0443: { n:"BIFF4XF", f:parsenoop }, + +0x7262: {} }; +/* BIFF2-4 single-sheet workbooks */ +function write_biff_rec(ba, t, payload, length) { + var len = (length || (payload||[]).length); + var o = ba.next(4 + len); + o.write_shift(2, t); + o.write_shift(2, len); + if(len > 0 && is_buf(payload)) ba.push(payload); +} + +function write_BOF(wb, o) { + if(o.bookType != 'biff2') throw "unsupported BIFF version"; + var out = new_buf(4); + out.write_shift(2, 0x0002); // "unused" + out.write_shift(2, 0x0010); // Sheet + return out; +} + +function write_BIFF2Cell(out, r, c) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, 0); + out.write_shift(1, 0); + out.write_shift(1, 0); + return out; +} + +function write_BIFF2INT(r, c, val) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + out.write_shift(2, val); + return out; +} + +function write_BIFF2NUMBER(r, c, val) { + var out = new_buf(15); + write_BIFF2Cell(out, r, c); + out.write_shift(8, val, 'f'); + return out; +} + +function write_BIFF2BERR(r, c, val, t) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + if(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); } + else { out.write_shift(1, val?1:0); out.write_shift(1, 0); } + return out; +} + +/* TODO: codepage, large strings */ +function write_BIFF2LABEL(r, c, val) { + var out = new_buf(8 + 2*val.length); + write_BIFF2Cell(out, r, c); + out.write_shift(1, val.length); + out.write_shift(val.length, val, 'sbcs'); + return out.l < out.length ? out.slice(0, out.l) : out; +} + +function write_ws_biff_cell(ba, cell, R, C, opts) { + switch(cell.t) { + case 'n': + if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); + else + write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); + break; + case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; + /* TODO: codepage, sst */ + case 's': case 'str': + write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); + break; + default: write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); + } +} + +function write_biff_ws(ba, ws, idx, opts, wb) { + var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + for(var R = range.s.r; R <= range.e.r; ++R) { + rr = encode_row(R); + for(var C = range.s.c; C <= range.e.c; ++C) { + if(R === range.s.r) cols[C] = encode_col(C); + ref = cols[C] + rr; + if(!ws[ref]) continue; + /* write cell */ + write_ws_biff_cell(ba, ws[ref], R, C, opts); + } + } +} + +/* Based on test files */ +function write_biff_buf(wb, o) { + var ba = buf_array(); + var idx = 0; + for(var i=0;i 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); - else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + else if(dir.defaults && dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } @@ -11395,19 +11797,20 @@ function write_zip(wb, opts) { coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], TODO:[], rels:[], xmlns: "" }; fix_write_opts(opts = opts || {}); - var zip = new jszip(); +var zip = new jszip(); var f = "", rId = 0; opts.cellXfs = []; get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); + if(!wb.Props) wb.Props = {}; + f = "docProps/core.xml"; zip.file(f, write_core_props(wb.Props, opts)); ct.coreprops.push(f); add_rels(opts.rels, 2, f, RELS.CORE_PROPS); f = "docProps/app.xml"; - if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); @@ -11465,51 +11868,46 @@ function firstbyte(f,o) { case 'base64': return Base64.decode(f.substr(0,12)).charCodeAt(0); case 'binary': return f.charCodeAt(0); case 'array': return f[0]; - default: throw new Error("Unrecognized type " + o.type); + default: throw new Error("Unrecognized type " + (o ? o.type : "undefined")); } } function read_zip(data, opts) { - var zip, d = data; +var zip, d = data; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; switch(o.type) { case "base64": zip = new jszip(d, { base64:true }); break; case "binary": case "array": zip = new jszip(d, { base64:false }); break; case "buffer": zip = new jszip(d); break; - case "file": zip=new jszip(d=_fs.readFileSync(data)); break; default: throw new Error("Unrecognized type " + o.type); } return parse_zip(zip, o); } function readSync(data, opts) { - var zip, d = data, isfile = false, n; + var zip, d = data, n=0; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } + if(o.type == "file") { o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: - if(isfile) o.type = "file"; - return parse_xlscfb(CFB.read(data, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); + case 0xD0: return parse_xlscfb(CFB.read(d, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); case 0x3C: return parse_xlml(d, o); - case 0x50: - if(isfile) o.type = "file"; - return read_zip(data, opts); + case 0x50: return read_zip(d, o); default: throw new Error("Unsupported file " + n); } } -function readFileSync(data, opts) { +function readFileSync(filename, opts) { var o = opts||{}; o.type = 'file'; - return readSync(data, o); + return readSync(filename, o); } function write_zip_type(wb, opts) { var o = opts||{}; var z = write_zip(wb, o); var oopts = {}; - if(opts.compression) oopts.compression = 'DEFLATE'; + if(o.compression) oopts.compression = 'DEFLATE'; switch(o.type) { case "base64": oopts.type = "base64"; break; case "binary": oopts.type = "string"; break; @@ -11525,6 +11923,7 @@ function writeSync(wb, opts) { var o = opts||{}; switch(o.bookType) { case 'xml': return write_xlml(wb, o); + case 'biff2': return write_biff(wb, o); default: return write_zip_type(wb, o); } } @@ -11537,7 +11936,7 @@ function writeFileSync(wb, filename, opts) { case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; default: switch(o.file.substr(-4).toLowerCase()) { - case '.xls': o.bookType = 'xls'; break; + case '.xls': o.bookType = 'biff2'; break; case '.xml': o.bookType = 'xml'; break; case '.ods': o.bookType = 'ods'; break; }} diff --git a/dist/xlsx.min.js b/dist/xlsx.min.js index 6f6b342..2a4f624 100644 --- a/dist/xlsx.min.js +++ b/dist/xlsx.min.js @@ -1,11 +1,11 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.2";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)]; -jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)))}return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+g;if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return readIEEE754(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(s,e){return this.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef===undefined?cell.iStyleRef:cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", -xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};data.match(tagregex).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name;var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if(size&3>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj;for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw"Length mismatch 2: "+blob.l+" !== "+Offset1;var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff!==5&&opts.biff!==2)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l")!==-1){var cols=data.match(colregex);parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);if(data.indexOf("")!==-1)parse_ws_xml_hlinks(s,data.match(hlinkregex),rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/([\S\s]*?)<\/is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!==null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!==null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!==null)p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,R){if(end)return;switch(R.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0))s["!ref"]=encode_range(ref);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";data.match(tagregex).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs": -break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={},dtag,didx;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor":case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw"Unsupported Unicode Extension"}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8);else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];if(temp_val.XF)safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException": -break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=opts.biff===2?["Sheet1"]:Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.find){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.find)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop -},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},22:{n:"ExternCount",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function write_ods(wb,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.write_ods)throw new Error("Unsupported ODS");return ODS.write_ods(wb,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipdata(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels)path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";if(!wb.Props)wb.Props={};wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+o.type)}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(opts.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="xls";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y]; -val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.3";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){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}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return 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))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)]; +jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";if(sector_list[o.start]===undefined)sector_list[o.start]=get_sector_list(sectors,o.start,sector_list.fat_addrs,sector_list.ssz);sector_list[o.start].name=o.name;o.content=sector_list[o.start].data.slice(0,o.size);prep_blob(o.content,0)}else{o.storage="minifat";if(minifat_store!==ENDOFCHAIN&&o.start!==ENDOFCHAIN){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}function keys(o){return Object.keys(o)}function evert_key(obj,key){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]][key]]=K[i];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};XMLNS.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}function parse_Xnum(data,length){return data.read_shift(8,"f")}function write_Xnum(data,o){return(o||new_buf(8)).write_shift(8,data,"f")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO", +"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO",sheet:"js"};var CT_LIST=function(){var o={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(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);if(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);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function 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]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){var xWn=blob.read_shift(2),yWn=blob.read_shift(2),dxWn=blob.read_shift(2),dyWn=blob.read_shift(2);var flags=blob.read_shift(2),iTabCur=blob.read_shift(2),iTabFirst=blob.read_shift(2);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrec=parse_RkRec(blob);return{r:rw,c:col,ixfe:rkrec[0],rknum:rkrec[1]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":if(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements"); +m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);return{s:{r:r,c:c[0],cRel:c[1],rRel:c[2]},e:{r:R,c:C[0],cRel:C[1],rRel:C[2]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA", +39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var Ftab={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,65:3,66:3,67:1,68:1,69:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,105:1,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,189:3,190:1,195:3,196:3,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,65535:0};var XLSXFutureFunctions={"_xlfn.ACOT":"ACOT","_xlfn.ACOTH":"ACOTH","_xlfn.AGGREGATE":"AGGREGATE","_xlfn.ARABIC":"ARABIC","_xlfn.AVERAGEIF":"AVERAGEIF","_xlfn.AVERAGEIFS":"AVERAGEIFS","_xlfn.BASE":"BASE","_xlfn.BETA.DIST":"BETA.DIST","_xlfn.BETA.INV":"BETA.INV","_xlfn.BINOM.DIST":"BINOM.DIST","_xlfn.BINOM.DIST.RANGE":"BINOM.DIST.RANGE","_xlfn.BINOM.INV":"BINOM.INV","_xlfn.BITAND":"BITAND","_xlfn.BITLSHIFT":"BITLSHIFT","_xlfn.BITOR":"BITOR","_xlfn.BITRSHIFT":"BITRSHIFT","_xlfn.BITXOR":"BITXOR","_xlfn.CEILING.MATH":"CEILING.MATH","_xlfn.CEILING.PRECISE":"CEILING.PRECISE","_xlfn.CHISQ.DIST":"CHISQ.DIST","_xlfn.CHISQ.DIST.RT":"CHISQ.DIST.RT","_xlfn.CHISQ.INV":"CHISQ.INV","_xlfn.CHISQ.INV.RT":"CHISQ.INV.RT","_xlfn.CHISQ.TEST":"CHISQ.TEST","_xlfn.COMBINA":"COMBINA","_xlfn.CONFIDENCE.NORM":"CONFIDENCE.NORM","_xlfn.CONFIDENCE.T":"CONFIDENCE.T","_xlfn.COT":"COT","_xlfn.COTH":"COTH","_xlfn.COUNTIFS":"COUNTIFS","_xlfn.COVARIANCE.P":"COVARIANCE.P","_xlfn.COVARIANCE.S":"COVARIANCE.S","_xlfn.CSC":"CSC","_xlfn.CSCH":"CSCH","_xlfn.DAYS":"DAYS","_xlfn.DECIMAL":"DECIMAL","_xlfn.ECMA.CEILING":"ECMA.CEILING","_xlfn.ERF.PRECISE":"ERF.PRECISE","_xlfn.ERFC.PRECISE":"ERFC.PRECISE","_xlfn.EXPON.DIST":"EXPON.DIST","_xlfn.F.DIST":"F.DIST","_xlfn.F.DIST.RT":"F.DIST.RT","_xlfn.F.INV":"F.INV","_xlfn.F.INV.RT":"F.INV.RT","_xlfn.F.TEST":"F.TEST","_xlfn.FILTERXML":"FILTERXML","_xlfn.FLOOR.MATH":"FLOOR.MATH","_xlfn.FLOOR.PRECISE":"FLOOR.PRECISE","_xlfn.FORMULATEXT":"FORMULATEXT","_xlfn.GAMMA":"GAMMA","_xlfn.GAMMA.DIST":"GAMMA.DIST","_xlfn.GAMMA.INV":"GAMMA.INV","_xlfn.GAMMALN.PRECISE":"GAMMALN.PRECISE","_xlfn.GAUSS":"GAUSS","_xlfn.HYPGEOM.DIST":"HYPGEOM.DIST","_xlfn.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_xlfn.IMCOSH":"IMCOSH","_xlfn.IMCOT":"IMCOT","_xlfn.IMCSC":"IMCSC","_xlfn.IMCSCH":"IMCSCH","_xlfn.IMSEC":"IMSEC","_xlfn.IMSECH":"IMSECH","_xlfn.IMSINH":"IMSINH","_xlfn.IMTAN":"IMTAN","_xlfn.ISFORMULA":"ISFORMULA","_xlfn.ISO.CEILING":"ISO.CEILING","_xlfn.ISOWEEKNUM":"ISOWEEKNUM","_xlfn.LOGNORM.DIST":"LOGNORM.DIST","_xlfn.LOGNORM.INV":"LOGNORM.INV","_xlfn.MODE.MULT":"MODE.MULT","_xlfn.MODE.SNGL":"MODE.SNGL","_xlfn.MUNIT":"MUNIT","_xlfn.NEGBINOM.DIST":"NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL":"NETWORKDAYS.INTL","_xlfn.NIGBINOM":"NIGBINOM","_xlfn.NORM.DIST":"NORM.DIST","_xlfn.NORM.INV":"NORM.INV","_xlfn.NORM.S.DIST":"NORM.S.DIST","_xlfn.NORM.S.INV":"NORM.S.INV","_xlfn.NUMBERVALUE":"NUMBERVALUE","_xlfn.PDURATION":"PDURATION","_xlfn.PERCENTILE.EXC":"PERCENTILE.EXC","_xlfn.PERCENTILE.INC":"PERCENTILE.INC","_xlfn.PERCENTRANK.EXC":"PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC":"PERCENTRANK.INC","_xlfn.PERMUTATIONA":"PERMUTATIONA","_xlfn.PHI":"PHI","_xlfn.POISSON.DIST":"POISSON.DIST","_xlfn.QUARTILE.EXC":"QUARTILE.EXC","_xlfn.QUARTILE.INC":"QUARTILE.INC","_xlfn.QUERYSTRING":"QUERYSTRING","_xlfn.RANK.AVG":"RANK.AVG","_xlfn.RANK.EQ":"RANK.EQ","_xlfn.RRI":"RRI","_xlfn.SEC":"SEC","_xlfn.SECH":"SECH","_xlfn.SHEET":"SHEET","_xlfn.SHEETS":"SHEETS","_xlfn.SKEW.P":"SKEW.P","_xlfn.STDEV.P":"STDEV.P","_xlfn.STDEV.S":"STDEV.S","_xlfn.SUMIFS":"SUMIFS","_xlfn.T.DIST":"T.DIST","_xlfn.T.DIST.2T":"T.DIST.2T","_xlfn.T.DIST.RT":"T.DIST.RT","_xlfn.T.INV":"T.INV","_xlfn.T.INV.2T":"T.INV.2T","_xlfn.T.TEST":"T.TEST","_xlfn.UNICHAR":"UNICHAR","_xlfn.UNICODE":"UNICODE","_xlfn.VAR.P":"VAR.P","_xlfn.VAR.S":"VAR.S","_xlfn.WEBSERVICE":"WEBSERVICE","_xlfn.WEIBULL.DIST":"WEIBULL.DIST","_xlfn.WORKDAY.INTL":"WORKDAY.INTL","_xlfn.XOR":"XOR","_xlfn.Z.TEST":"Z.TEST"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[0]);break;case"Protection":break;case"Author":case"Title":case"Description":case"Created":case"Keywords":case"Subject":case"Category":case"Company":case"LastAuthor":case"LastSaved":case"LastPrinted":case"Version":case"Revision":case"TotalTime":case"HyperlinkBase":case"Manager":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}break;case"Name":break;case"ComponentOptions":case"DocumentProperties":case"CustomDocumentProperties":case"OfficeDocumentSettings":case"PivotTable":case"PivotCache":case"Names":case"MapInfo":case"PageBreaks":case"QueryTable":case"DataValidation":case"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:seen=false}break;case"ComponentOptions":switch(Rn[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Date1904":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":case"element":case"complexType":case"datatype":case"all":case"attribute":case"extends":break;case"row":break;default:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":case"FeatHdr11":break;case"Feature11":case"Feature12":case"List12":break;case"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":case"DXFN":case"DXFN12":case"DXFN12List":case"DXFN12NoCB":break;case"Dv":case"DVal":break;case"BRAI":case"Series":case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"IFmtRecord":break;case"CondFmt":case"CF":case"CF12":case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":case"Mms":case"InterfaceEnd":case"DSF":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.n){case"Dat":case"Begin":case"End":case"StartBlock":case"EndBlock":case"Frame":case"Area":case"Axis":case"AxisLine":case"Tick":break;case"AxesUsed":case"CrtLayout12":case"CrtLayout12A":case"CrtLink":case"CrtLine":case"CrtMlFrt":case"CrtMlFrtContinue":break;case"LineFormat":case"AreaFormat":case"Chart":case"Chart3d":case"Chart3DBarShape":case"ChartFormat":case"ChartFrtInfo":break;case"PlotArea":case"PlotGrowth":break;case"SeriesList":case"SerParent":case"SerAuxTrend":break;case"DataFormat":case"SerToCrt":case"FontX":break;case"CatSerRange":case"AxcExt":case"SerFmt":break;case"ShtProps":break;case"DefaultText":case"Text":case"CatLab":break;case"DataLabExtContents":break;case"Legend":case"LegendException":break;case"Pie":case"Scatter":break;case"PieFormat":case"MarkerFormat":break;case"StartObject":case"EndObject":break;case"AlRuns":case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":case"YMult":break;case"Line":case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":case"Qsif":case"Qsir":case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":case"MsoDrawingGroup":case"MsoDrawingSelection":break;case"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{ +n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.min.map b/dist/xlsx.min.map index 928c805..61fa37d 100644 --- a/dist/xlsx.min.map +++ b/dist/xlsx.min.map @@ -1 +1 @@ -{"version":3,"sources":["xlsx.js"],"names":["XLSX","make_xlsx","version","current_codepage","current_cptable","module","require","cptable","reset_cp","set_cp","cp","char_codes","data","o","i","len","length","charCodeAt","debom_xml","_getchar","_gc1","x","String","fromCharCode","utils","decode","substr","_gc2","Base64","make_b64","map","encode","input","utf8","c1","c2","c3","e1","e2","e3","e4","isNaN","charAt","b64_decode","replace","indexOf","has_buf","Buffer","new_raw_buf","Array","s2a","s","split","bconcat","bufs","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","c","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","y","undefined","opts","table_fmt","0","1","2","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","w","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","Error","_general","fix_hijri","date","parse_date_code","b2","time","dow","dout","out","T","u","m","H","M","S","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","flr","write_num_flt","ffmt","oo","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","format","table","_table","load","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","exports","parse","file","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","blob","slice","prep_blob","mv","check_get_mver","header","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","shift","root","find_path","make_find_path","raw","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","push","UCFullPaths","UCPaths","toUpperCase","path","k","UCPath","cnt","sector","__readInt32LE","get_sector_list","start","chkd","sl","buf","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","state","ct","read_date","mt","size","storage","content","MSSZ","offset","__readUInt32LE","fs","readFileSync","filename","options","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","Object","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdata","asNodeBuffer","_data","getContent","prototype","call","toString","asBinary","safegetzipfile","zip","getzipfile","getzipdata","safe","e","_fs","jszip","JSZip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","substring","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","h","matches","baseType","res","forEach","wtregex","writetag","wxt_helper","join","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","readIEEE754","isLE","nl","ml","el","eMax","eBias","bits","NaN","Infinity","___toBuffer","toBuffer_","___utf16le","utf16le_","b","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","a","isArray","utf16le_b","isBuffer","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","this","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","lens","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","hexstr","fld","pos","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","end","ba_end","ba_push","_bufs","write_record","ba","payload","evert_RE","p","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","hex","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","flags","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","7","23","29","36","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","n","5","6","8","26","27","28","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","hasOwnProperty","CountryEnum","30","31","32","33","34","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","encoding","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","msg","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","extra","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","comment","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","trim","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","35","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","func","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","24","25","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","os","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","filter","dir","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","base64","isfile","write_zip_type","oopts","compression","writeFileSync","generate","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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","file":"dist/xlsx.min.js"} \ No newline at end of file +{"version":3,"sources":["xlsx.js"],"names":["XLSX","make_xlsx","version","current_codepage","current_cptable","module","require","cptable","reset_cp","set_cp","cp","char_codes","data","o","i","len","length","charCodeAt","debom_xml","_getchar","_gc1","x","String","fromCharCode","utils","decode","substr","_gc2","Base64","make_b64","map","encode","input","utf8","c1","c2","c3","e1","e2","e3","e4","isNaN","charAt","b64_decode","replace","indexOf","has_buf","Buffer","new_raw_buf","Array","s2a","s","split","bconcat","bufs","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","c","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","y","undefined","opts","table_fmt","0","1","2","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","w","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","Error","_general","fix_hijri","date","parse_date_code","b2","time","dow","dout","out","T","u","m","H","M","S","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","flr","write_num_flt","ffmt","oo","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","format","table","_table","load","load_entry","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","DO_NOT_EXPORT_CFB","CFB","_CFB","exports","parse","file","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","blob","slice","prep_blob","mv","check_get_mver","header","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","shift","root","find_path","make_find_path","raw","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","push","UCFullPaths","UCPaths","toUpperCase","path","k","UCPath","cnt","sector","__readInt32LE","get_sector_list","start","chkd","sl","buf","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","state","ct","read_date","mt","size","storage","content","MSSZ","offset","__readUInt32LE","fs","readFileSync","filename","options","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","Object","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","asNodeBuffer","toString","asBinary","_data","getContent","prototype","call","getdatabin","getdata","safegetzipfile","zip","getzipfile","getzipdata","safe","e","getzipstr","_fs","jszip","JSZip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","substring","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","h","matches","baseType","res","forEach","wtregex","writetag","wxt_helper","join","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","b","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","a","isArray","utf16le_b","isBuffer","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","this","lens","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","pos","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","end","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","p","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","hex","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","flags","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","7","23","29","36","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","n","5","6","8","26","27","28","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","hasOwnProperty","CountryEnum","30","31","32","33","34","41","44","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","encoding","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","msg","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","extra","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","comment","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","35","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","func","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","24","25","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","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","206","207","208","209","210","211","212","214","215","217","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","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","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","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","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","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","os","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","402","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","filter","dir","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","base64","write_zip_type","oopts","compression","generate","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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","file":"dist/xlsx.min.js"} \ No newline at end of file diff --git a/misc/_bower.json b/misc/_bower.json deleted file mode 100644 index 321df52..0000000 --- a/misc/_bower.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "js-xlsx", - "homepage": "https://github.com/SheetJS/js-xlsx", - "main": "dist/xlsx.js", - "version": "_VERSION_", - "ignore": [ - "bin", - "bits", - "misc", - "**/.*" - ], - "keywords": [ - "excel", - "xls", - "xml", - "xlsx", - "xlsm", - "xlsb", - "ods", - "js-xls", - "js-xlsx" - ] -} diff --git a/misc/flow.js b/misc/flow.js index 8e35efd..80697ef 100644 --- a/misc/flow.js +++ b/misc/flow.js @@ -1,12 +1,40 @@ /*:: type ZIPFile = any; -type ParseOpts = any; - type Workbook = { SheetNames: Array; Sheets: any; }; +interface CellAddress { + r:number; + c:number; +}; + +type Cell = any; + +type Range = { + s: CellAddress; + e: CellAddress; +} +type Worksheet = any; + +type Sheet2CSVOpts = any; +type Sheet2JSONOpts = any; + +type ParseOpts = any; + +type WriteOpts = any; +type WriteFileOpts = any; + +type RawData = any; + +interface TypeOpts { + type:string; +} + type XLSXModule = any; + +type SST = any; +type Comment = any; */ diff --git a/misc/flowdeps.js b/misc/flowdeps.js index d2430d1..ba30a8a 100644 --- a/misc/flowdeps.js +++ b/misc/flowdeps.js @@ -5,4 +5,6 @@ declare module 'xlsx' { declare var exports:XLSXModule; }; declare module '../' { declare var exports:XLSXModule; }; declare module 'commander' { declare var exports:any; }; + +type ZIP = any; */ diff --git a/ods.flow.js b/ods.flow.js index 2107901..5180366 100644 --- a/ods.flow.js +++ b/ods.flow.js @@ -17,13 +17,13 @@ var get_utils = function() { }; var has_buf = (typeof Buffer !== 'undefined'); -function cc2str(arr) { +function cc2str(arr)/*:string*/ { var o = ""; for(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]); return o; } -function dup(o/*:object*/)/*:object*/ { +function dup(o/*:any*/)/*:any*/ { if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); if(typeof o != 'object' || !o) return o; var out = {}; @@ -63,8 +63,7 @@ var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } diff --git a/ods.js b/ods.js index ea1abc5..f0b2aa1 100644 --- a/ods.js +++ b/ods.js @@ -61,8 +61,7 @@ var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } diff --git a/odsbits/20_jsutils.js b/odsbits/20_jsutils.js index 8031769..b8482bc 100644 --- a/odsbits/20_jsutils.js +++ b/odsbits/20_jsutils.js @@ -1,12 +1,12 @@ var has_buf = (typeof Buffer !== 'undefined'); -function cc2str(arr) { +function cc2str(arr)/*:string*/ { var o = ""; for(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]); return o; } -function dup(o/*:object*/)/*:object*/ { +function dup(o/*:any*/)/*:any*/ { if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); if(typeof o != 'object' || !o) return o; var out = {}; diff --git a/odsbits/21_ziputils.js b/odsbits/21_ziputils.js index 23bbaa8..90f31e6 100644 --- a/odsbits/21_ziputils.js +++ b/odsbits/21_ziputils.js @@ -31,8 +31,7 @@ var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } diff --git a/package.json b/package.json index be990e3..1b44699 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xlsx", - "version": "0.8.2", + "version": "0.8.3", "author": "sheetjs", "description": "Excel (XLSB/XLSX/XLSM/XLS/XML) and ODS spreadsheet parser and writer", "keywords": [ "excel", "xls", "xlsx", "xlsb", "xlsm", "ods", "office", "spreadsheet" ], @@ -13,7 +13,6 @@ "ssf":"~0.8.1", "codepage":"", "cfb":">=0.10.0", - "jszip":"2.4.0", "crc-32":"", "adler-32":"", "commander":"" diff --git a/test.js b/test.js index 3de4fde..6908728 100644 --- a/test.js +++ b/test.js @@ -12,6 +12,7 @@ if(process.env.WTF) { opts.cellStyles = true; } var fullex = [".xlsb", ".xlsm", ".xlsx"]; +var ofmt = ["xlsb", "xlsm", "xlsx", "ods", "biff2"]; var ex = fullex.slice(); ex.push(".ods"); ex.push(".xls"); ex.push("xml"); if(process.env.FMTS === "full") process.env.FMTS = ex.join(":"); if(process.env.FMTS) ex=process.env.FMTS.split(":").map(function(x){return x[0]==="."?x:"."+x;}); @@ -1033,6 +1034,47 @@ describe('json output', function() { }); }); +describe('js -> file -> js', function() { + var data, ws, wb, BIN="binary"; + before(function() { + data = [ + [1,2,3], + [true, false, null, "sheetjs"], + ["foo","bar",new Date("2014-02-19T14:30Z"), "0.3"], + ["baz", 6.9, "qux"] + ]; + ws = sheet_from_array_of_arrays(data); + wb = { SheetNames: ['Sheet1'], Sheets: {Sheet1: ws} }; + }); + function eqcell(wb1, wb2, s, a) { + assert.equal(wb1.Sheets[s][a].v, wb2.Sheets[s][a].v); + assert.equal(wb1.Sheets[s][a].t, wb2.Sheets[s][a].t); + } + ofmt.forEach(function(f) { + it(f, function() { + var newwb = X.read(X.write(wb, {type:BIN, bookType: f}), {type:BIN}); + /* int */ + eqcell(wb, newwb, 'Sheet1', 'A1'); + eqcell(wb, newwb, 'Sheet1', 'B1'); + eqcell(wb, newwb, 'Sheet1', 'C1'); + /* double */ + eqcell(wb, newwb, 'Sheet1', 'B4'); + /* bool */ + eqcell(wb, newwb, 'Sheet1', 'A2'); + eqcell(wb, newwb, 'Sheet1', 'B2'); + /* string */ + eqcell(wb, newwb, 'Sheet1', 'D2'); + eqcell(wb, newwb, 'Sheet1', 'A3'); + eqcell(wb, newwb, 'Sheet1', 'B3'); + eqcell(wb, newwb, 'Sheet1', 'D3'); + eqcell(wb, newwb, 'Sheet1', 'A4'); + eqcell(wb, newwb, 'Sheet1', 'C4'); + /* date */ + eqcell(wb, newwb, 'Sheet1', 'C3'); + }); + }); +}); + describe('corner cases', function() { it('output functions', function() { var data = [ @@ -1054,6 +1096,8 @@ describe('corner cases', function() { X.write(wb, {type: "binary", bookType: 'xlsx'}); X.write(wb, {type: "buffer", bookType: 'xlsm'}); X.write(wb, {type: "base64", bookType: 'xlsb'}); + X.write(wb, {type: "binary", bookType: 'ods'}); + X.write(wb, {type: "binary", bookType: 'biff2'}); ws.A2.t = "f"; assert.throws(function() { X.utils.make_json(ws); }); }); diff --git a/tests.lst b/tests.lst index fad7995..773be4e 100644 --- a/tests.lst +++ b/tests.lst @@ -25,7 +25,7 @@ text_and_numbers.xlsb xlsx-stream-d-date-cell.xlsb 2013/apachepoi_29982.xls.xlsb 2013/apachepoi_43251.xls.xlsb -#2013/apachepoi_44593.xls.xlsb ## xlsb loop timeout +2013/apachepoi_44593.xls.xlsb ## xlsb loop timeout 2013/apachepoi_44643.xls.xlsb 2013/apachepoi_44958.xls.xlsb 2013/apachepoi_46136-NoWarnings.xls.xlsb @@ -344,7 +344,7 @@ formula_stress_test.ods merge_cells.ods number_format.ods rich_text_stress.ods -# roo_Bibelbund.ods ## timeout +roo_Bibelbund.ods roo_Bibelbund1.ods roo_bbu.ods roo_boolean.ods @@ -475,7 +475,7 @@ apachepoi_44200.xls apachepoi_44201.xls apachepoi_44235.xls apachepoi_44297.xls -# apachepoi_44593.xls ## xlsb loop timeout +apachepoi_44593.xls ## xlsb loop timeout apachepoi_44636.xls apachepoi_44643.xls apachepoi_44693.xls @@ -615,12 +615,12 @@ apachepoi_PercentPtg.xls apachepoi_QuotientFunctionTestCaseData.xls apachepoi_RangePtg.xls apachepoi_ReadOnlyRecommended.xls -# apachepoi_ReferencePtg.xls ## xlsb loop timeout +apachepoi_ReferencePtg.xls ## xlsb loop timeout apachepoi_RepeatingRowsCols.xls apachepoi_ReptFunctionTestCaseData.xls apachepoi_RomanFunctionTestCaseData.xls apachepoi_SampleSS.xls -# apachepoi_SharedFormulaTest.xls ## xlsb loop timeout +apachepoi_SharedFormulaTest.xls ## xlsb loop timeout apachepoi_SheetWithDrawing.xls apachepoi_ShrinkToFit.xls apachepoi_Simple.xls @@ -899,7 +899,7 @@ libreoffice_calc_xls-import_pivot-dup-data-fields.xls libreoffice_calc_xls-import_pivot-layout-field-non-default.xls libreoffice_calc_xls-import_row-attributes_row-all-hidden.xls libreoffice_calc_xls-import_row-attributes_row-filtered.xls -# libreoffice_calc_xls-import_row-attributes_row-heights.xls ## xlsb loop timeout +libreoffice_calc_xls-import_row-attributes_row-heights.xls ## xlsb loop timeout libreoffice_calc_xls-import_row-attributes_row-tail-hidden-2.xls libreoffice_calc_xls-import_row-attributes_row-tail-hidden-last-row-visible.xls libreoffice_calc_xls-import_row-attributes_row-tail-hidden.xls diff --git a/tests/write.js b/tests/write.js index 3d5636f..da88aa9 100644 --- a/tests/write.js +++ b/tests/write.js @@ -6,7 +6,7 @@ var data = [ [1,2,3], [true, false, null, "sheetjs"], ["foo","bar",new Date("2014-02-19T14:30Z"), "0.3"], - ["baz", null, "qux"] + ["baz", null, "qux", 3.14159] ]; var ws_name = "SheetJS"; @@ -87,5 +87,5 @@ ws['!cols'] = wscols; XLSX.writeFile(wb, 'sheetjs.xlsx'); XLSX.writeFile(wb, 'sheetjs.xlsm'); XLSX.writeFile(wb, 'sheetjs.xlsb'); -//XLSX.writeFile(wb, 'sheetjs.xls'); +XLSX.writeFile(wb, 'sheetjs.xls', {bookType:'biff2'}); XLSX.writeFile(wb, 'sheetjs.ods'); diff --git a/xlsx.flow.js b/xlsx.flow.js index 0baf7d6..9b57a4b 100644 --- a/xlsx.flow.js +++ b/xlsx.flow.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.2'; +XLSX.version = '0.8.3'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -71,13 +71,13 @@ var Base64 = (function make_b64(){ })(); var has_buf = (typeof Buffer !== 'undefined'); -function new_raw_buf(len) { +function new_raw_buf(len/*:number*/) { /* jshint -W056 */ return new (has_buf ? Buffer : Array)(len); /* jshint +W056 */ } -function s2a(s) { +function s2a(s/*:string*/) { if(has_buf) return new Buffer(s, "binary"); return s.split("").map(function(x){ return x.charCodeAt(0) & 0xff; }); } @@ -88,10 +88,19 @@ var chr0 = /\u0000/g, chr1 = /[\u0001-\u0006]/; /*:: declare type Block = any; declare type BufArray = { + newblk(sz:number):Block; next(sz:number):Block; end():any; push(buf:Block):void; }; + +type RecordHopperCB = {(d:any, R:any, RT:number):?boolean;}; + +type EvertType = {[string]:string}; +type EvertNumType = {[string]:number}; +type EvertArrType = {[string]:Array}; + +type StringConv = {(string):string}; */ /* ssf.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ /*jshint -W041 */ @@ -859,7 +868,7 @@ SSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[ }; make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap = { +var XLMLFormatMap/*{[string]:string}*/ = ({ "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -876,7 +885,7 @@ var XLMLFormatMap = { "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}; +}/*:any*/); var DO_NOT_EXPORT_CFB = true; /* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ @@ -1263,28 +1272,28 @@ return exports; if(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; } function isval(x/*:?any*/)/*:boolean*/ { return x !== undefined && x !== null; } -function keys(o) { return Object.keys(o); } +function keys(o/*:any*/)/*:Array*/ { return Object.keys(o); } -function evert_key(obj, key) { - var o = [], K = keys(obj); +function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; return o; } -function evert(obj) { - var o = [], K = keys(obj); +function evert(obj/*:any*/)/*:EvertType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i]; return o; } -function evert_num(obj) { - var o = [], K = keys(obj); +function evert_num(obj/*:any*/)/*:EvertNumType*/ { + var o = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10); return o; } -function evert_arr(obj) { - var o = [], K = keys(obj); +function evert_arr(obj/*:any*/)/*:EvertArrType*/ { + var o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj); for(var i = 0; i !== K.length; ++i) { if(o[obj[K[i]]] == null) o[obj[K[i]]] = []; o[obj[K[i]]].push(K[i]); @@ -1293,7 +1302,7 @@ function evert_arr(obj) { } /* TODO: date1904 logic */ -function datenum(v, date1904) { +function datenum(v/*:number*/, date1904/*:?boolean*/)/*:number*/ { if(date1904) v+=1462; var epoch = Date.parse(v); return (epoch + 2209161600000) / (24 * 60 * 60 * 1000); @@ -1305,55 +1314,64 @@ function cc2str(arr/*:Array*/)/*:string*/ { return o; } -function getdata(data) { +function getdatastr(data)/*:?string*/ { if(!data) return null; - if(data.name.substr(-4) === ".bin") { - if(data.data) return char_codes(data.data); - if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); - if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); - } else { - if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(data.data); - if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom_xml(data.asBinary()); - if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); - } + if(data.data) return debom_xml(data.data); + if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); + if(data.asBinary) return debom_xml(data.asBinary()); + if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); return null; } -function safegetzipfile(zip, file) { +function getdatabin(data) { + if(!data) return null; + if(data.data) return char_codes(data.data); + if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); + if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); + return null; +} + +function getdata(data) { return (data && data.name.substr(data.name.length-4) === ".bin") ? getdatabin(data) : getdatastr(data); } + +function safegetzipfile(zip, file/*:string*/) { var f = file; if(zip.files[f]) return zip.files[f]; f = file.toLowerCase(); if(zip.files[f]) return zip.files[f]; f = f.replace(/\//g,'\\'); if(zip.files[f]) return zip.files[f]; return null; } -function getzipfile(zip, file) { +function getzipfile(zip, file/*:string*/) { var o = safegetzipfile(zip, file); if(o == null) throw new Error("Cannot find file " + file + " in zip"); return o; } -function getzipdata(zip, file, safe/*:?boolean*/) { +function getzipdata(zip, file/*:string*/, safe/*:?boolean*/) { if(!safe) return getdata(getzipfile(zip, file)); if(!file) return null; try { return getzipdata(zip, file); } catch(e) { return null; } } -/*:: declare var JSZip:any; */ +function getzipstr(zip, file/*:string*/, safe/*:?boolean*/)/*:?string*/ { + if(!safe) return getdatastr(getzipfile(zip, file)); + if(!file) return null; + try { return getzipstr(zip, file); } catch(e) { return null; } +} + var _fs, jszip; +/*:: declare var JSZip:any; */ if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; -function parsexmltag(tag, skip_root) { - var z = []; +function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/)/*:any*/ { + var z = ([]/*:any*/); var eq = 0, c = 0; for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break; if(!skip_root) z[0] = tag.substr(0, eq); @@ -1369,7 +1387,7 @@ function parsexmltag(tag, skip_root) { } return z; } -function strip_ns(x) { return x.replace(nsregex2, "<$1"); } +function strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, "<$1"); } var encodings = { '"': '"', @@ -1382,28 +1400,28 @@ var rencoding = evert(encodings); var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) -var unescapexml = (function() { +var unescapexml/*:StringConv*/ = (function() { var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]+)_/g; - return function unescapexml(text){ + return function unescapexml(text/*:string*/)/*:string*/ { var s = text + ''; return s.replace(encregex, function($$) { return encodings[$$]; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));}); }; })(); var decregex=/[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f]/g; -function escapexml(text){ +function escapexml(text/*:string*/)/*:string*/{ var s = text + ''; return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).substr(-4) + "_";}); } /* TODO: handle codepages */ -var xlml_fixstr = (function() { +var xlml_fixstr/*:StringConv*/ = (function() { var entregex = /&#(\d+);/g; - function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } - return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; + function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } + return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -function parsexmlbool(value, tag) { +function parsexmlbool(value/*:any*/, tag/*:?string*/)/*:boolean*/ { switch(value) { case '1': case 'true': case 'TRUE': return true; /* case '0': case 'false': case 'FALSE':*/ @@ -1411,7 +1429,7 @@ function parsexmlbool(value, tag) { } } -var utf8read = function utf8reada(orig) { +var utf8read/*:StringConv*/ = function utf8reada(orig) { var out = "", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0; while (i < orig.length) { c = orig.charCodeAt(i++); @@ -1457,7 +1475,7 @@ if(has_buf) { var matchtag = (function() { var mtcache = {}; return function matchtag(f,g) { - var t = f+"|"+g; + var t = f+"|"+(g||""); if(mtcache[t] !== undefined) return mtcache[t]; return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',(g||""))); }; @@ -1473,7 +1491,7 @@ function parseVector(data) { var h = parsexmltag(data); var matches = data.match(vtregex(h.baseType))||[]; - if(matches.length != h.size) throw "unexpected vector length " + matches.length + " != " + h.size; + if(matches.length != h.size) throw new Error("unexpected vector length " + matches.length + " != " + h.size); var res = []; matches.forEach(function(x) { var v = x.replace(vtvregex,"").match(vtmregex); @@ -1485,10 +1503,10 @@ function parseVector(data) { var wtregex = /(^\s|\s$|\n)/; function writetag(f,g) {return '<' + f + (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function wxt_helper(h) { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } -function writextag(f,g,h) { return '<' + f + (isval(h) ? wxt_helper(h) : "") + (isval(g) ? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} +function wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } +function writextag(f,g,h) { return '<' + f + (isval(h) /*:: && h */? wxt_helper(h) : "") + (isval(g) /*:: && g */? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } +function write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } function write_vt(s) { switch(typeof s) { @@ -1501,7 +1519,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = { +var XMLNS = ({ 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -1511,7 +1529,7 @@ var XMLNS = { 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsd': 'http://www.w3.org/2001/XMLSchema' -}; +}/*:any*/); XMLNS.main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', @@ -1520,22 +1538,30 @@ XMLNS.main = [ 'http://schemas.microsoft.com/office/excel/2006/2' ]; -function readIEEE754(buf, idx, isLE, nl, ml) { - if(isLE === undefined) isLE = true; - if(!nl) nl = 8; - if(!ml && nl === 8) ml = 52; - var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; - var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; +function read_double_le(b, idx/*:number*/)/*:number*/ { + var s = 1 - 2 * (b[idx + 7] >>> 7); + var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); + var m = (b[idx+6]&0x0f); + for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; + if(e == 0x7ff) return m == 0 ? s * Infinity : NaN; + if(e == 0) e = -1022; + else { e -= 1023; m += Math.pow(2,52); } + return s * Math.pow(2, e - 52) * m; +} - i += d; - e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; - for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); - m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; - for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); - if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); - else if (e === 0) e = 1 - eBias; - else { m = m + Math.pow(2, ml); e = e - eBias; } - return (s ? -1 : 1) * m * Math.pow(2, e - ml); +function write_double_le(b, v/*:number*/, idx/*:number*/) { + var bs = ((v < 0 || 1/v == -Infinity) ? 1 : 0) << 7, e = 0, m = 0; + var av = bs ? -v : v; + if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } + else { + e = Math.floor(Math.log(av) * Math.LOG2E); + m = v * Math.pow(2, 52 - e); + if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } + else { m -= Math.pow(2,52); e+=1023; } + } + for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; + b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; + b[idx + 7] = (e >> 4) | bs; } var __toBuffer, ___toBuffer; @@ -1551,18 +1577,18 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur var __lpwstr, ___lpwstr; __lpwstr = ___lpwstr = function lpwstr_(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; var __double, ___double; -__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; +__double = ___double = function(b, idx) { return read_double_le(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; -if(has_buf) { +if(has_buf/*:: && typeof Buffer != 'undefined'*/) { __utf16le = function utf16le_b(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e); }; __hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); }; __lpstr = function lpstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; __lpwstr = function lpwstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);}; - __utf8 = function utf8_b(s,e) { return this.toString('utf8',s,e); }; + __utf8 = function utf8_b(b, s,e) { return b.toString('utf8',s,e); }; __toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);}; bconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); }; - __double = function double_(b,i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); }; + __double = function double_(b,i) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); }; is_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); }; } @@ -1647,20 +1673,27 @@ function ReadShift(size, t) { this.l+=size; return o; } +var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; +var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; +var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; + function WriteShift(t, val, f) { var size, i; if(f === 'dbcs') { - for(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; + } else if(f === 'sbcs') { + for(i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 0xFF; + size = val.length; } else switch(t) { - case 1: size = 1; this[this.l] = val&255; break; - case 2: size = 2; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; break; - case 3: size = 3; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l+2] = val&255; break; - case 4: size = 4; this.writeUInt32LE(val, this.l); break; - case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } + case 1: size = 1; this[this.l] = val&0xFF; break; + case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; + case 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; + case 4: size = 4; __writeUInt32LE(this, val, this.l); break; + case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; this.writeInt32LE(val, this.l); break; + case -4: size = 4; __writeInt32LE(this, val, this.l); break; } this.l += size; return this; } @@ -1689,7 +1722,8 @@ function new_buf(sz) { } /* [MS-XLSB] 2.1.4 Record */ -function recordhopper(data, cb, opts) { +function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { + if(!data) return; var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -1705,7 +1739,7 @@ function recordhopper(data, cb, opts) { } /* control buffer usage for fixed-length buffers */ -function buf_array() { +function buf_array()/*:BufArray*/ { var bufs = [], blksz = 2048; var newblk = function ba_newblk(sz) { var o = new_buf(sz); @@ -1716,13 +1750,14 @@ function buf_array() { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { + if(!curbuf) return; if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(sz < curbuf.length - curbuf.l) return curbuf; + if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -1734,11 +1769,12 @@ function buf_array() { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return { next:next, push:push, end:end, _bufs:bufs }; + return ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/); } function write_record(ba/*:BufArray*/, type/*:string*/, payload, length/*:?number*/) { - var t = evert_RE[type], l; + var t/*:number*/ = Number(evert_RE[type]), l; + if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; @@ -1802,27 +1838,26 @@ var make_offcrypto = function(O, _crypto) { return out; }; - if(crypto) { - O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; - } else { - O.md5 = function(hex) { throw "unimplemented"; }; - } + O.md5 = function(hex) { + if(!crypto) throw new Error("Unsupported crypto"); + return crypto.createHash('md5').update(hex).digest('hex'); + }; }; make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); /* [MS-XLSB] 2.5.143 */ -function parse_StrRun(data, length) { +function parse_StrRun(data, length/*:?number*/) { return { ich: data.read_shift(2), ifnt: data.read_shift(2) }; } /* [MS-XLSB] 2.1.7.121 */ -function parse_RichStr(data, length) { +function parse_RichStr(data, length/*:number*/) { var start = data.l; var flags = data.read_shift(1); var str = parse_XLWideString(data); var rgsStrRun = []; - var z = { t: str, h: str }; + var z = ({ t: str, h: str }/*:any*/); if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -1855,7 +1890,7 @@ function parse_XLSBCell(data) { function write_XLSBCell(cell, o) { if(o == null) o = new_buf(8); o.write_shift(-4, cell.c); - o.write_shift(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); + o.write_shift(3, cell.iStyleRef || cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -1865,11 +1900,11 @@ function write_XLSBCell(cell, o) { function parse_XLSBCodeName (data, length) { return parse_XLWideString(data, length); } /* [MS-XLSB] 2.5.166 */ -function parse_XLNullableWideString(data) { +function parse_XLNullableWideString(data)/*:string*/ { var cchCharacters = data.read_shift(4); return cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLNullableWideString(data, o) { +function write_XLNullableWideString(data/*:string*/, o) { if(!o) o = new_buf(127); o.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF); if(data.length > 0) o.write_shift(0, data, 'dbcs'); @@ -1877,11 +1912,11 @@ function write_XLNullableWideString(data, o) { } /* [MS-XLSB] 2.5.168 */ -function parse_XLWideString(data) { +function parse_XLWideString(data)/*:string*/ { var cchCharacters = data.read_shift(4); return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLWideString(data, o) { +function write_XLWideString(data/*:string*/, o) { if(o == null) o = new_buf(4+2*data.length); o.write_shift(4, data.length); if(data.length > 0) o.write_shift(0, data, 'dbcs'); @@ -1895,7 +1930,7 @@ var write_RelID = write_XLNullableWideString; /* [MS-XLSB] 2.5.122 */ /* [MS-XLS] 2.5.217 */ -function parse_RkNumber(data) { +function parse_RkNumber(data)/*:number*/ { var b = data.slice(data.l, data.l+4); var fX100 = b[0] & 1, fInt = b[0] & 2; data.l+=4; @@ -1914,8 +1949,8 @@ function write_RkNumber(data/*:number*/, o) { /* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data) { - var cell = {s: {}, e: {}}; +function parse_UncheckedRfX(data)/*:Range*/ { + var cell/*:Range*/ = ({s: {}, e: {}}/*:any*/); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); cell.s.c = data.read_shift(4); @@ -1923,7 +1958,7 @@ function parse_UncheckedRfX(data) { return cell; } -function write_UncheckedRfX(r, o) { +function write_UncheckedRfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -1935,25 +1970,25 @@ function write_UncheckedRfX(r, o) { /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ -function parse_Xnum(data, length) { return data.read_shift(8, 'f'); } +function parse_Xnum(data, length/*:?number*/) { return data.read_shift(8, 'f'); } function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } /* [MS-XLSB] 2.5.198.2 */ var BErr = { - 0x00: "#NULL!", - 0x07: "#DIV/0!", - 0x0F: "#VALUE!", - 0x17: "#REF!", - 0x1D: "#NAME?", - 0x24: "#NUM!", - 0x2A: "#N/A", - 0x2B: "#GETTING_DATA", - 0xFF: "#WTF?" + /*::[*/0x00/*::]*/: "#NULL!", + /*::[*/0x07/*::]*/: "#DIV/0!", + /*::[*/0x0F/*::]*/: "#VALUE!", + /*::[*/0x17/*::]*/: "#REF!", + /*::[*/0x1D/*::]*/: "#NAME?", + /*::[*/0x24/*::]*/: "#NUM!", + /*::[*/0x2A/*::]*/: "#N/A", + /*::[*/0x2B/*::]*/: "#GETTING_DATA", + /*::[*/0xFF/*::]*/: "#WTF?" }; var RBErr = evert_num(BErr); /* [MS-XLSB] 2.4.321 BrtColor */ -function parse_BrtColor(data, length) { +function parse_BrtColor(data, length/*:number*/) { var out = {}; var d = data.read_shift(1); out.fValidRGB = d & 1; @@ -1967,7 +2002,7 @@ function parse_BrtColor(data, length) { } /* [MS-XLSB] 2.5.52 */ -function parse_FontFlags(data, length) { +function parse_FontFlags(data, length/*:number*/) { var d = data.read_shift(1); data.l++; var out = { @@ -2025,62 +2060,62 @@ function parse_FontFlags(data, length) { /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Category', t: VT_STRING }, - 0x03: { n: 'PresentationFormat', t: VT_STRING }, - 0x04: { n: 'ByteCount', t: VT_I4 }, - 0x05: { n: 'LineCount', t: VT_I4 }, - 0x06: { n: 'ParagraphCount', t: VT_I4 }, - 0x07: { n: 'SlideCount', t: VT_I4 }, - 0x08: { n: 'NoteCount', t: VT_I4 }, - 0x09: { n: 'HiddenCount', t: VT_I4 }, - 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, - 0x0b: { n: 'Scale', t: VT_BOOL }, - 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, - 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, - 0x0e: { n: 'Manager', t: VT_STRING }, - 0x0f: { n: 'Company', t: VT_STRING }, - 0x10: { n: 'LinksDirty', t: VT_BOOL }, - 0x11: { n: 'CharacterCount', t: VT_I4 }, - 0x13: { n: 'SharedDoc', t: VT_BOOL }, - 0x16: { n: 'HLinksChanged', t: VT_BOOL }, - 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, - 0x1A: { n: 'ContentType', t: VT_STRING }, - 0x1B: { n: 'ContentStatus', t: VT_STRING }, - 0x1C: { n: 'Language', t: VT_STRING }, - 0x1D: { n: 'Version', t: VT_STRING }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, + /*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING }, + /*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING }, + /*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 }, + /*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 }, + /*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 }, + /*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 }, + /*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 }, + /*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 }, + /*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 }, + /*::[*/0x0b/*::]*/: { n: 'Scale', t: VT_BOOL }, + /*::[*/0x0c/*::]*/: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, + /*::[*/0x0d/*::]*/: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, + /*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING }, + /*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING }, + /*::[*/0x10/*::]*/: { n: 'LinksDirty', t: VT_BOOL }, + /*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 }, + /*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL }, + /*::[*/0x16/*::]*/: { n: 'HLinksChanged', t: VT_BOOL }, + /*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' }, + /*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING }, + /*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING }, + /*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING }, + /*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING }, + /*::[*/0xFF/*::]*/: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Title', t: VT_STRING }, - 0x03: { n: 'Subject', t: VT_STRING }, - 0x04: { n: 'Author', t: VT_STRING }, - 0x05: { n: 'Keywords', t: VT_STRING }, - 0x06: { n: 'Comments', t: VT_STRING }, - 0x07: { n: 'Template', t: VT_STRING }, - 0x08: { n: 'LastAuthor', t: VT_STRING }, - 0x09: { n: 'RevNumber', t: VT_STRING }, - 0x0A: { n: 'EditTime', t: VT_FILETIME }, - 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, - 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, - 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, - 0x0E: { n: 'PageCount', t: VT_I4 }, - 0x0F: { n: 'WordCount', t: VT_I4 }, - 0x10: { n: 'CharCount', t: VT_I4 }, - 0x11: { n: 'Thumbnail', t: VT_CF }, - 0x12: { n: 'ApplicationName', t: VT_LPSTR }, - 0x13: { n: 'DocumentSecurity', t: VT_I4 }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, + /*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING }, + /*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING }, + /*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING }, + /*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING }, + /*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING }, + /*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING }, + /*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING }, + /*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING }, + /*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME }, + /*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME }, + /*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME }, + /*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME }, + /*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 }, + /*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 }, + /*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 }, + /*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF }, + /*::[*/0x12/*::]*/: { n: 'ApplicationName', t: VT_LPSTR }, + /*::[*/0x13/*::]*/: { n: 'DocumentSecurity', t: VT_I4 }, + /*::[*/0xFF/*::]*/: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { - 0x80000000: { n: 'Locale', t: VT_UI4 }, - 0x80000003: { n: 'Behavior', t: VT_UI4 }, - 0x72627262: {} + /*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 }, + /*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 }, + /*::[*/0x72627262/*::]*/: {} }; (function() { @@ -2090,56 +2125,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { - 0x0001: "US", // United States - 0x0002: "CA", // Canada - 0x0003: "", // Latin America (except Brazil) - 0x0007: "RU", // Russia - 0x0014: "EG", // Egypt - 0x001E: "GR", // Greece - 0x001F: "NL", // Netherlands - 0x0020: "BE", // Belgium - 0x0021: "FR", // France - 0x0022: "ES", // Spain - 0x0024: "HU", // Hungary - 0x0027: "IT", // Italy - 0x0029: "CH", // Switzerland - 0x002B: "AT", // Austria - 0x002C: "GB", // United Kingdom - 0x002D: "DK", // Denmark - 0x002E: "SE", // Sweden - 0x002F: "NO", // Norway - 0x0030: "PL", // Poland - 0x0031: "DE", // Germany - 0x0034: "MX", // Mexico - 0x0037: "BR", // Brazil - 0x003d: "AU", // Australia - 0x0040: "NZ", // New Zealand - 0x0042: "TH", // Thailand - 0x0051: "JP", // Japan - 0x0052: "KR", // Korea - 0x0054: "VN", // Viet Nam - 0x0056: "CN", // China - 0x005A: "TR", // Turkey - 0x0069: "JS", // Ramastan - 0x00D5: "DZ", // Algeria - 0x00D8: "MA", // Morocco - 0x00DA: "LY", // Libya - 0x015F: "PT", // Portugal - 0x0162: "IS", // Iceland - 0x0166: "FI", // Finland - 0x01A4: "CZ", // Czech Republic - 0x0376: "TW", // Taiwan - 0x03C1: "LB", // Lebanon - 0x03C2: "JO", // Jordan - 0x03C3: "SY", // Syria - 0x03C4: "IQ", // Iraq - 0x03C5: "KW", // Kuwait - 0x03C6: "SA", // Saudi Arabia - 0x03CB: "AE", // United Arab Emirates - 0x03CC: "IL", // Israel - 0x03CE: "QA", // Qatar - 0x03D5: "IR", // Iran - 0xFFFF: "US" // United States + /*::[*/0x0001/*::]*/: "US", // United States + /*::[*/0x0002/*::]*/: "CA", // Canada + /*::[*/0x0003/*::]*/: "", // Latin America (except Brazil) + /*::[*/0x0007/*::]*/: "RU", // Russia + /*::[*/0x0014/*::]*/: "EG", // Egypt + /*::[*/0x001E/*::]*/: "GR", // Greece + /*::[*/0x001F/*::]*/: "NL", // Netherlands + /*::[*/0x0020/*::]*/: "BE", // Belgium + /*::[*/0x0021/*::]*/: "FR", // France + /*::[*/0x0022/*::]*/: "ES", // Spain + /*::[*/0x0024/*::]*/: "HU", // Hungary + /*::[*/0x0027/*::]*/: "IT", // Italy + /*::[*/0x0029/*::]*/: "CH", // Switzerland + /*::[*/0x002B/*::]*/: "AT", // Austria + /*::[*/0x002C/*::]*/: "GB", // United Kingdom + /*::[*/0x002D/*::]*/: "DK", // Denmark + /*::[*/0x002E/*::]*/: "SE", // Sweden + /*::[*/0x002F/*::]*/: "NO", // Norway + /*::[*/0x0030/*::]*/: "PL", // Poland + /*::[*/0x0031/*::]*/: "DE", // Germany + /*::[*/0x0034/*::]*/: "MX", // Mexico + /*::[*/0x0037/*::]*/: "BR", // Brazil + /*::[*/0x003d/*::]*/: "AU", // Australia + /*::[*/0x0040/*::]*/: "NZ", // New Zealand + /*::[*/0x0042/*::]*/: "TH", // Thailand + /*::[*/0x0051/*::]*/: "JP", // Japan + /*::[*/0x0052/*::]*/: "KR", // Korea + /*::[*/0x0054/*::]*/: "VN", // Viet Nam + /*::[*/0x0056/*::]*/: "CN", // China + /*::[*/0x005A/*::]*/: "TR", // Turkey + /*::[*/0x0069/*::]*/: "JS", // Ramastan + /*::[*/0x00D5/*::]*/: "DZ", // Algeria + /*::[*/0x00D8/*::]*/: "MA", // Morocco + /*::[*/0x00DA/*::]*/: "LY", // Libya + /*::[*/0x015F/*::]*/: "PT", // Portugal + /*::[*/0x0162/*::]*/: "IS", // Iceland + /*::[*/0x0166/*::]*/: "FI", // Finland + /*::[*/0x01A4/*::]*/: "CZ", // Czech Republic + /*::[*/0x0376/*::]*/: "TW", // Taiwan + /*::[*/0x03C1/*::]*/: "LB", // Lebanon + /*::[*/0x03C2/*::]*/: "JO", // Jordan + /*::[*/0x03C3/*::]*/: "SY", // Syria + /*::[*/0x03C4/*::]*/: "IQ", // Iraq + /*::[*/0x03C5/*::]*/: "KW", // Kuwait + /*::[*/0x03C6/*::]*/: "SA", // Saudi Arabia + /*::[*/0x03CB/*::]*/: "AE", // United Arab Emirates + /*::[*/0x03CC/*::]*/: "IL", // Israel + /*::[*/0x03CE/*::]*/: "QA", // Qatar + /*::[*/0x03D5/*::]*/: "IR", // Iran + /*::[*/0xFFFF/*::]*/: "US" // United States }; /* [MS-XLS] 2.5.127 */ @@ -2250,7 +2285,7 @@ var XLSIcv = rgbify([ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type = { +var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -2388,7 +2423,7 @@ var ct2type = { "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}; +}/*:any*/); var CT_LIST = (function(){ var o = { @@ -2416,16 +2451,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct = evert_arr(ct2type); +var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; -function parse_ct(data, opts) { - var ctext = {}; - if(!data || !data.match) return data; - var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], +function parse_ct(data/*:?string*/, opts) { + var ct = ({ workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], - TODO:[], rels:[], xmlns: "" }; + TODO:[], rels:[], xmlns: "" }/*:any*/); + if(!data || !data.match) return ct; + var ctext = {}; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -2461,8 +2496,8 @@ var CTYPE_DEFAULTS = [ return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); }); -function write_ct(ct, opts) { - var o = [], v; +function write_ct(ct, opts)/*:string*/ { + var o/*:Array*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); o = o.concat(CTYPE_DEFAULTS); @@ -2500,12 +2535,12 @@ function write_ct(ct, opts) { return o.join(""); } /* 9.3.2 OPC Relationships Markup */ -var RELS = { +var RELS = ({ WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument" -}; +}/*:any*/); -function parse_rels(data, currentFilePath) { +function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { if (!data) return data; if (currentFilePath.charAt(0) !== '/') { currentFilePath = '/'+currentFilePath; @@ -2528,7 +2563,7 @@ function parse_rels(data, currentFilePath) { return toksFrom.join('/'); }; - data.match(tagregex).forEach(function(x) { + (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === ' >*/ = [ ["cp:category", "Category"], ["cp:contentStatus", "ContentStatus"], ["cp:keywords", "Keywords"], @@ -2583,7 +2618,7 @@ var CORE_PROPS = [ XMLNS.CORE_PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"; RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; -var CORE_PROPS_REGEX = (function() { +var CORE_PROPS_REGEX/*:Array*/ = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { var f = CORE_PROPS[i]; @@ -2634,7 +2669,7 @@ function write_core_props(cp, opts) { } /* 15.2.12.3 Extended File Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var EXT_PROPS = [ +var EXT_PROPS/*:Array >*/ = [ ["Application", "Application", "string"], ["AppVersion", "AppVersion", "string"], ["Company", "Company", "string"], @@ -2685,7 +2720,7 @@ var EXT_PROPS_XML_ROOT = writextag('Properties', null, { 'xmlns:vt': XMLNS.vt }); -function write_ext_props(cp, opts) { +function write_ext_props(cp, opts)/*:string*/ { var o = [], p = {}, W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; @@ -2713,8 +2748,8 @@ XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; var custregex = /<[^>]+>[^<]*/g; -function parse_cust_props(data, opts) { - var p = {}, name; +function parse_cust_props(data/*:string*/, opts) { + var p = {}, name = ""; var m = data.match(custregex); if(m) for(var i = 0; i != m.length; ++i) { var x = m[i], y = parsexmltag(x); @@ -2764,7 +2799,7 @@ var CUST_PROPS_XML_ROOT = writextag('Properties', null, { 'xmlns:vt': XMLNS.vt }); -function write_cust_props(cp, opts) { +function write_cust_props(cp, opts)/*:string*/ { var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; if(!cp) return o.join(""); var pid = 1; @@ -2778,7 +2813,7 @@ function write_cust_props(cp, opts) { if(o.length>2){ o[o.length] = ''; o[1]=o[1].replace("/>",">"); } return o.join(""); } -function xlml_set_prop(Props, tag, val) { +function xlml_set_prop(Props, tag/*:string*/, val) { /* TODO: Normalize the properties */ switch(tag) { case 'Description': tag = 'Comments'; break; @@ -2856,7 +2891,7 @@ function parse_VtVecHeadingPair(blob) { /* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */ function parse_dictionary(blob,CodePage) { var cnt = blob.read_shift(4); - var dict = {}; + var dict/*{[number]:string}*/ = ({}/*:any*/); for(var j = 0; j != cnt; ++j) { var pid = blob.read_shift(4); var len = blob.read_shift(4); @@ -2870,7 +2905,7 @@ function parse_dictionary(blob,CodePage) { function parse_BLOB(blob) { var size = blob.read_shift(4); var bytes = blob.slice(blob.l,blob.l+size); - if(size & 3 > 0) blob.l += (4 - (size & 3)) & 3; + if((size & 3) > 0) blob.l += (4 - (size & 3)) & 3; return bytes; } @@ -2937,7 +2972,7 @@ function parse_PropertySet(blob, PIDSI) { var NumProps = blob.read_shift(4); var Props = [], i = 0; var CodePage = 0; - var Dictionary = -1, DictObj; + var Dictionary = -1, DictObj/*{[number]:string}*/ = ({}/*:any*/); for(i = 0; i != NumProps; ++i) { var PropID = blob.read_shift(4); var Offset = blob.read_shift(4); @@ -3028,7 +3063,7 @@ function parse_PropertySetStream(file, PIDSI) { var blob = file.content; prep_blob(blob, 0); - var NumSets, FMTID0, FMTID1, Offset0, Offset1; + var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0; blob.chk('feff', 'Byte Order: '); var vers = blob.read_shift(2); // TODO: check version @@ -3042,13 +3077,13 @@ function parse_PropertySetStream(file, PIDSI) { else if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); } var PSet0 = parse_PropertySet(blob, PIDSI); - var rval = { SystemIdentifier: SystemIdentifier }; + var rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/); for(var y in PSet0) rval[y] = PSet0[y]; //rval.blob = blob; rval.FMTID = FMTID0; //rval.PSet0 = PSet0; if(NumSets === 1) return rval; - if(blob.l !== Offset1) throw "Length mismatch 2: " + blob.l + " !== " + Offset1; + if(blob.l !== Offset1) throw new Error("Length mismatch 2: " + blob.l + " !== " + Offset1); var PSet1; try { PSet1 = parse_PropertySet(blob, null); } catch(e) { } for(y in PSet1) rval[y] = PSet1[y]; @@ -3111,7 +3146,7 @@ function parse_XLUnicodeRichExtendedString(blob) { var cch = blob.read_shift(2), flags = blob.read_shift(1); var fHighByte = flags & 0x1, fExtSt = flags & 0x4, fRichSt = flags & 0x8; var width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs - var cRun, cbExtRst; + var cRun = 0, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -3142,7 +3177,7 @@ function parse_XLUnicodeString(blob, length, opts) { } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff !== 5 && opts.biff !== 2) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); var cch = blob.read_shift(1); if(cch === 0) { blob.l++; return ""; } return blob.read_shift(cch, 'sbcs-cont'); @@ -3229,11 +3264,11 @@ function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3 /* --- MS-XLS --- */ /* 2.5.19 */ -function parse_XLSCell(blob, length) { +function parse_XLSCell(blob, length)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return {r:rw, c:col, ixfe:ixfe}; + return ({r:rw, c:col, ixfe:ixfe}/*:any*/); } /* 2.5.134 */ @@ -3329,22 +3364,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { - 0x15: parse_FtCmo, - 0x13: parsenoop, /* FtLbsData */ - 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ - 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ - 0x10: parsenoop, /* FtEdoData */ - 0x0F: parsenoop, /* FtGboData */ - 0x0D: parse_FtNts, /* FtNts */ - 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ - 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ - 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ - 0x09: parsenoop, /* FtPictFmla */ - 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ - 0x07: parse_FtCf, /* FtCf */ - 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ - 0x04: parsenoop, /* FtMacro */ - 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ + /*::[*/0x15/*::]*/: parse_FtCmo, + /*::[*/0x13/*::]*/: parsenoop, /* FtLbsData */ + /*::[*/0x12/*::]*/: function(blob, length) { blob.l += 12; }, /* FtCblsData */ + /*::[*/0x11/*::]*/: function(blob, length) { blob.l += 8; }, /* FtRboData */ + /*::[*/0x10/*::]*/: parsenoop, /* FtEdoData */ + /*::[*/0x0F/*::]*/: parsenoop, /* FtGboData */ + /*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */ + /*::[*/0x0C/*::]*/: function(blob, length) { blob.l += 24; }, /* FtSbs */ + /*::[*/0x0B/*::]*/: function(blob, length) { blob.l += 10; }, /* FtRbo */ + /*::[*/0x0A/*::]*/: function(blob, length) { blob.l += 16; }, /* FtCbls */ + /*::[*/0x09/*::]*/: parsenoop, /* FtPictFmla */ + /*::[*/0x08/*::]*/: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ + /*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */ + /*::[*/0x06/*::]*/: function(blob, length) { blob.l += 6; }, /* FtGmo */ + /*::[*/0x04/*::]*/: parsenoop, /* FtMacro */ + /*::[*/0x00/*::]*/: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -3374,7 +3409,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: throw "Unexpected BIFF Ver " + o.BIFFVer; + default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); } blob.read_shift(length); return o; @@ -3403,7 +3438,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) >> 6; + var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -3469,7 +3504,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = blob.read_shift(2), miyRw; + var f = length == 4 ? blob.read_shift(2) : 0, miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -3512,6 +3547,7 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } +var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ function parse_Dimensions(blob, length) { @@ -3570,13 +3606,14 @@ function parse_Guts(blob, length) { var out = [blob.read_shift(2), blob.read_shift(2)]; if(out[0] !== 0) out[0]--; if(out[1] !== 0) out[1]--; - if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out.join("|"); return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length) { +function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -3609,7 +3646,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = { + var o = ({ fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -3617,7 +3654,7 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }; + }/*:any*/); if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); @@ -3626,7 +3663,6 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { - if(opts.biff < 8) return parse_Label(blob, length, opts); var target = blob.l + length; var flags = blob.read_shift(2); var chKey = blob.read_shift(1); @@ -3714,6 +3750,7 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; + var texts = ""; try { blob.l += 4; var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; @@ -3727,7 +3764,6 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); - var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -3748,7 +3784,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts||"" }; } +} catch(e) { blob.l = s + length; return { t: texts }; } } /* 2.4.140 */ @@ -4143,33 +4179,56 @@ function parse_BIFF2NUM(blob, length, opts) { return cell; } +function parse_BIFF2INT(blob, length) { + var cell = parse_XLSCell(blob, 6); + ++blob.l; + var num = blob.read_shift(2); + cell.val = num; + return cell; +} + +function parse_BIFF2STRING(blob, length) { + var cch = blob.read_shift(1); + if(cch === 0) { blob.l++; return ""; } + return blob.read_shift(cch, 'sbcs-cont'); +} + +/* TODO: convert to BIFF8 font struct */ +function parse_BIFF2FONTXTRA(blob, length) { + blob.l += 6; // unknown + blob.l += 2; // font weight "bls" + blob.l += 1; // charset + blob.l += 3; // unknown + blob.l += 1; // font family + blob.l += length - 9; +} /* 18.4.1 charset to codepage mapping */ -var CS2CP = { - 0: 1252, /* ANSI */ - 1: 65001, /* DEFAULT */ - 2: 65001, /* SYMBOL */ - 77: 10000, /* MAC */ - 128: 932, /* SHIFTJIS */ - 129: 949, /* HANGUL */ - 130: 1361, /* JOHAB */ - 134: 936, /* GB2312 */ - 136: 950, /* CHINESEBIG5 */ - 161: 1253, /* GREEK */ - 162: 1254, /* TURKISH */ - 163: 1258, /* VIETNAMESE */ - 177: 1255, /* HEBREW */ - 178: 1256, /* ARABIC */ - 186: 1257, /* BALTIC */ - 204: 1251, /* RUSSIAN */ - 222: 874, /* THAI */ - 238: 1250, /* EASTEUROPE */ - 255: 1252, /* OEM */ - 69: 6969 /* MISC */ -}; +var CS2CP = ({ + /*::[*/0/*::]*/: 1252, /* ANSI */ + /*::[*/1/*::]*/: 65001, /* DEFAULT */ + /*::[*/2/*::]*/: 65001, /* SYMBOL */ + /*::[*/77/*::]*/: 10000, /* MAC */ + /*::[*/128/*::]*/: 932, /* SHIFTJIS */ + /*::[*/129/*::]*/: 949, /* HANGUL */ + /*::[*/130/*::]*/: 1361, /* JOHAB */ + /*::[*/134/*::]*/: 936, /* GB2312 */ + /*::[*/136/*::]*/: 950, /* CHINESEBIG5 */ + /*::[*/161/*::]*/: 1253, /* GREEK */ + /*::[*/162/*::]*/: 1254, /* TURKISH */ + /*::[*/163/*::]*/: 1258, /* VIETNAMESE */ + /*::[*/177/*::]*/: 1255, /* HEBREW */ + /*::[*/178/*::]*/: 1256, /* ARABIC */ + /*::[*/186/*::]*/: 1257, /* BALTIC */ + /*::[*/204/*::]*/: 1251, /* RUSSIAN */ + /*::[*/222/*::]*/: 874, /* THAI */ + /*::[*/238/*::]*/: 1250, /* EASTEUROPE */ + /*::[*/255/*::]*/: 1252, /* OEM */ + /*::[*/69/*::]*/: 6969 /* MISC */ +}/*:any*/); /* Parse a list of tags */ var parse_rs = (function parse_rs_factory() { - var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; + var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = /<(?:\w+:)?r>/g, rend = /<\/(?:\w+:)?r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -4266,11 +4325,11 @@ var parse_rs = (function parse_rs_factory() { var terms = [[],"",[]]; /* 18.4.12 t ST_Xstring */ var t = r.match(tregex), cp = 65001; - if(!isval(t)) return ""; + if(!isval(t)/*:: || !t*/) return ""; terms[1] = t[1]; var rpr = r.match(rpregex); - if(isval(rpr)) cp = parse_rpr(rpr[1], terms[0], terms[2]); + if(isval(rpr)/*:: && rpr*/) cp = parse_rpr(rpr[1], terms[0], terms[2]); return terms[0].join("") + terms[1].replace(nlregex,'
') + terms[2].join(""); } @@ -4280,22 +4339,22 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; +var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.charCodeAt(1) === 116) { - z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { z.r = x; - z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ @@ -4304,14 +4363,15 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /]*)>([\s\S]*)<\/sst>/; -var sstr1 = /<(?:si|sstItem)>/g; -var sstr2 = /<\/(?:si|sstItem)>/; -function parse_sst_xml(data, opts) { - var s = [], ss; +var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; +var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; +var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; +function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { + var s/*:SST*/ = ([]/*:any*/), ss = ""; + if(!data) return s; /* 18.4.9 sst CT_Sst */ var sst = data.match(sstr0); - if(isval(sst)) { + if(isval(sst)/*:: && sst*/) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { var o = parse_si(ss[i], opts); @@ -4324,7 +4384,7 @@ function parse_sst_xml(data, opts) { RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; -function write_sst_xml(sst, opts) { +function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { @@ -4386,17 +4446,22 @@ function write_sst_bin(sst, opts) { write_record(ba, "BrtEndSst"); return ba.end(); } -function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } +function _JS2ANSI(str/*:string*/)/*:Array*/ { + if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); + var o = [], oo = str.split(""); + for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); + return o; +} /* [MS-OFFCRYPTO] 2.1.4 Version */ -function parse_Version(blob, length) { +function parse_Version(blob, length/*:number*/) { var o = {}; o.Major = blob.read_shift(2); o.Minor = blob.read_shift(2); return o; } /* [MS-OFFCRYPTO] 2.3.2 Encryption Header */ -function parse_EncryptionHeader(blob, length) { +function parse_EncryptionHeader(blob, length/*:number*/) { var o = {}; o.Flags = blob.read_shift(4); @@ -4414,11 +4479,11 @@ function parse_EncryptionHeader(blob, length) { } /* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */ -function parse_EncryptionVerifier(blob, length) { +function parse_EncryptionVerifier(blob, length/*:number*/) { return parsenoop(blob, length); } /* [MS-OFFCRYPTO] 2.3.5.1 RC4 CryptoAPI Encryption Header */ -function parse_RC4CryptoHeader(blob, length) { +function parse_RC4CryptoHeader(blob, length/*:number*/) { var o = {}; var vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4; if(vers.Minor != 2) throw 'unrecognized minor version code: ' + vers.Minor; @@ -4430,7 +4495,7 @@ function parse_RC4CryptoHeader(blob, length) { return o; } /* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */ -function parse_RC4Header(blob, length) { +function parse_RC4Header(blob, length/*:number*/) { var o = {}; var vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4; if(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor; @@ -4441,7 +4506,7 @@ function parse_RC4Header(blob, length) { } /* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */ -function crypto_CreatePasswordVerifier_Method1(Password) { +function crypto_CreatePasswordVerifier_Method1(Password/*:string*/) { var Verifier = 0x0000, PasswordArray; var PasswordDecoded = _JS2ANSI(Password); var len = PasswordDecoded.length + 1, i, PasswordByte; @@ -4478,7 +4543,7 @@ var crypto_CreateXorArray_Method1 = (function() { } return XorKey; }; - return function(password) { + return function(password/*:string*/) { var Password = _JS2ANSI(password); var XorKey = CreateXorKey_Method1(Password); var Index = Password.length; @@ -4518,7 +4583,7 @@ var crypto_CreateXorArray_Method1 = (function() { })(); /* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */ -var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) { +var crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) { /* If XorArray is set, use it; if O is not set, make changes in-place */ if(!O) O = Data; if(!XorArray) XorArray = crypto_CreateXorArray_Method1(password); @@ -4533,10 +4598,10 @@ var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArra return [O, XorArrayIndex, XorArray]; }; -var crypto_MakeXorDecryptor = function(password) { +var crypto_MakeXorDecryptor = function(password/*:string*/) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -4544,7 +4609,7 @@ var crypto_MakeXorDecryptor = function(password) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = { key: parseuint16(blob), verificationBytes: parseuint16(blob) }; + var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/); if(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password); out.valid = o.verificationBytes === o.verifier; if(out.valid) out.insitu_decrypt = crypto_MakeXorDecryptor(opts.password); @@ -4552,13 +4617,13 @@ function parse_XORObfuscation(blob, length, opts, out) { } /* 2.4.117 */ -function parse_FilePassHeader(blob, length, oo) { +function parse_FilePassHeader(blob, length/*:number*/, oo) { var o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2; if(o.Info === 1) o.Data = parse_RC4Header(blob, length); else o.Data = parse_RC4CryptoHeader(blob, length); return o; } -function parse_FilePass(blob, length, opts) { +function parse_FilePass(blob, length/*:number*/, opts) { var o = { Type: blob.read_shift(2) }; /* wEncryptionType */ if(o.Type) parse_FilePassHeader(blob, length-2, o); else parse_XORObfuscation(blob, length-2, opts, o); @@ -4694,7 +4759,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); } }); } @@ -4702,9 +4767,10 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k = keys(SSF._table); + var k/*Array*/ = (keys(SSF._table)/*:any*/); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); + if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -4713,7 +4779,7 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); } } } @@ -4757,7 +4823,7 @@ function parse_cellXfs(t, opts) { }); } -function write_cellXfs(cellXfs) { +function write_cellXfs(cellXfs)/*:string*/ { var o = []; o[o.length] = (writextag('cellXfs',null)); cellXfs.forEach(function(c) { o[o.length] = (writextag('xf', null, c)); }); @@ -4774,6 +4840,7 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { + if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -4808,7 +4875,7 @@ var STYLES_XML_ROOT = writextag('styleSheet', null, { RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; -function write_sty_xml(wb, opts) { +function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { var o = [XML_HEADER, STYLES_XML_ROOT], w; if((w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); @@ -4824,15 +4891,15 @@ function write_sty_xml(wb, opts) { return o.join(""); } /* [MS-XLSB] 2.4.651 BrtFmt */ -function parse_BrtFmt(data, length) { +function parse_BrtFmt(data, length/*:number*/) { var ifmt = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); return [ifmt, stFmtCode]; } /* [MS-XLSB] 2.4.653 BrtFont TODO */ -function parse_BrtFont(data, length) { - var out = {flags:{}}; +function parse_BrtFont(data, length/*:number*/) { + var out = ({flags:{}}/*:any*/); out.dyHeight = data.read_shift(2); out.grbit = parse_FontFlags(data, 2); out.bls = data.read_shift(2); @@ -4858,7 +4925,7 @@ function parse_BrtFont(data, length) { } /* [MS-XLSB] 2.4.816 BrtXF */ -function parse_BrtXF(data, length) { +function parse_BrtXF(data, length/*:number*/) { var ixfeParent = data.read_shift(2); var ifmt = data.read_shift(2); parsenoop(data, length-4); @@ -4867,7 +4934,7 @@ function parse_BrtXF(data, length) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = []; + styles.NumberFmt = ([]/*:any*/); for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; @@ -4962,7 +5029,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - t[0].match(tagregex).forEach(function(x) { + (t[0].match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -5046,7 +5113,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; + if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); m[2](t, opts); }); } @@ -5067,7 +5134,175 @@ function parse_theme_xml(data, opts) { return themes; } -function write_theme() { return '\n'; } +function write_theme() { + var o = [XML_HEADER]; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + return o.join(""); +} /* [MS-XLS] 2.4.326 TODO: payload is a zip file */ function parse_Theme(blob, length) { var dwThemeVersion = blob.read_shift(4); @@ -5149,6 +5384,7 @@ function update_xfext(xf, xfext) { /* 18.6 Calculation Chain */ function parse_cc_xml(data, opts) { var d = []; + if(!data) return d; var l = 0, i = 1; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); @@ -5230,30 +5466,36 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = {a: comment.author, t: comment.t, r: comment.r}; + var o = ({a: comment.author, t: comment.t, r: comment.r}/*:any*/); if(comment.h) o.h = comment.h; cell.c.push(o); }); } /* 18.7.3 CT_Comment */ -function parse_comments_xml(data, opts) { +function parse_comments_xml(data/*:string*/, opts)/*:Array*/ { if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { + var authtag = data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/); + if(authtag && authtag[1]) authtag[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); + var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); + if(a) authors.push(a[1]); }); - (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); + if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); - var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; + var cm = x.match(/<(?:\w+:)?comment[^>]*>/); + if(!cm) return; + var y = parsexmltag(cm[0]); + var comment/*:Comment*/ = ({ author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }/*:any*/); var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; - var textMatch = x.match(/([^\u2603]*)<\/text>/); + var textMatch = x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); + if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; @@ -5681,100 +5923,106 @@ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { - 0x01: { n:'PtgExp', f:parse_PtgExp }, - 0x02: { n:'PtgTbl', f:parse_PtgTbl }, - 0x03: { n:'PtgAdd', f:parse_PtgAdd }, - 0x04: { n:'PtgSub', f:parse_PtgSub }, - 0x05: { n:'PtgMul', f:parse_PtgMul }, - 0x06: { n:'PtgDiv', f:parse_PtgDiv }, - 0x07: { n:'PtgPower', f:parse_PtgPower }, - 0x08: { n:'PtgConcat', f:parse_PtgConcat }, - 0x09: { n:'PtgLt', f:parse_PtgLt }, - 0x0A: { n:'PtgLe', f:parse_PtgLe }, - 0x0B: { n:'PtgEq', f:parse_PtgEq }, - 0x0C: { n:'PtgGe', f:parse_PtgGe }, - 0x0D: { n:'PtgGt', f:parse_PtgGt }, - 0x0E: { n:'PtgNe', f:parse_PtgNe }, - 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, - 0x10: { n:'PtgUnion', f:parse_PtgUnion }, - 0x11: { n:'PtgRange', f:parse_PtgRange }, - 0x12: { n:'PtgUplus', f:parse_PtgUplus }, - 0x13: { n:'PtgUminus', f:parse_PtgUminus }, - 0x14: { n:'PtgPercent', f:parse_PtgPercent }, - 0x15: { n:'PtgParen', f:parse_PtgParen }, - 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, - 0x17: { n:'PtgStr', f:parse_PtgStr }, - 0x1C: { n:'PtgErr', f:parse_PtgErr }, - 0x1D: { n:'PtgBool', f:parse_PtgBool }, - 0x1E: { n:'PtgInt', f:parse_PtgInt }, - 0x1F: { n:'PtgNum', f:parse_PtgNum }, - 0x20: { n:'PtgArray', f:parse_PtgArray }, - 0x21: { n:'PtgFunc', f:parse_PtgFunc }, - 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - 0x23: { n:'PtgName', f:parse_PtgName }, - 0x24: { n:'PtgRef', f:parse_PtgRef }, - 0x25: { n:'PtgArea', f:parse_PtgArea }, - 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, - 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, - 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, - 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, - 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, - 0x39: { n:'PtgNameX', f:parse_PtgNameX }, - 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, - 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, - 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, + /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, + /*::[*/0x03/*::]*/: { n:'PtgAdd', f:parse_PtgAdd }, + /*::[*/0x04/*::]*/: { n:'PtgSub', f:parse_PtgSub }, + /*::[*/0x05/*::]*/: { n:'PtgMul', f:parse_PtgMul }, + /*::[*/0x06/*::]*/: { n:'PtgDiv', f:parse_PtgDiv }, + /*::[*/0x07/*::]*/: { n:'PtgPower', f:parse_PtgPower }, + /*::[*/0x08/*::]*/: { n:'PtgConcat', f:parse_PtgConcat }, + /*::[*/0x09/*::]*/: { n:'PtgLt', f:parse_PtgLt }, + /*::[*/0x0A/*::]*/: { n:'PtgLe', f:parse_PtgLe }, + /*::[*/0x0B/*::]*/: { n:'PtgEq', f:parse_PtgEq }, + /*::[*/0x0C/*::]*/: { n:'PtgGe', f:parse_PtgGe }, + /*::[*/0x0D/*::]*/: { n:'PtgGt', f:parse_PtgGt }, + /*::[*/0x0E/*::]*/: { n:'PtgNe', f:parse_PtgNe }, + /*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parse_PtgIsect }, + /*::[*/0x10/*::]*/: { n:'PtgUnion', f:parse_PtgUnion }, + /*::[*/0x11/*::]*/: { n:'PtgRange', f:parse_PtgRange }, + /*::[*/0x12/*::]*/: { n:'PtgUplus', f:parse_PtgUplus }, + /*::[*/0x13/*::]*/: { n:'PtgUminus', f:parse_PtgUminus }, + /*::[*/0x14/*::]*/: { n:'PtgPercent', f:parse_PtgPercent }, + /*::[*/0x15/*::]*/: { n:'PtgParen', f:parse_PtgParen }, + /*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parse_PtgMissArg }, + /*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr }, + /*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr }, + /*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool }, + /*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt }, + /*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum }, + /*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray }, + /*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc }, + /*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar }, + /*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName }, + /*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef }, + /*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea }, + /*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea }, + /*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr }, + /*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, + /*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc }, + /*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr }, + /*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr }, + /*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN }, + /*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN }, + /*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX }, + /*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d }, + /*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d }, + /*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, + /*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, + /*::[*/0xFF/*::]*/: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { - 0x40: 0x20, 0x60: 0x20, - 0x41: 0x21, 0x61: 0x21, - 0x42: 0x22, 0x62: 0x22, - 0x43: 0x23, 0x63: 0x23, - 0x44: 0x24, 0x64: 0x24, - 0x45: 0x25, 0x65: 0x25, - 0x46: 0x26, 0x66: 0x26, - 0x47: 0x27, 0x67: 0x27, - 0x48: 0x28, 0x68: 0x28, - 0x49: 0x29, 0x69: 0x29, - 0x4A: 0x2A, 0x6A: 0x2A, - 0x4B: 0x2B, 0x6B: 0x2B, - 0x4C: 0x2C, 0x6C: 0x2C, - 0x4D: 0x2D, 0x6D: 0x2D, - 0x59: 0x39, 0x79: 0x39, - 0x5A: 0x3A, 0x7A: 0x3A, - 0x5B: 0x3B, 0x7B: 0x3B, - 0x5C: 0x3C, 0x7C: 0x3C, - 0x5D: 0x3D, 0x7D: 0x3D + /*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20, + /*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21, + /*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22, + /*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23, + /*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24, + /*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25, + /*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26, + /*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27, + /*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28, + /*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29, + /*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A, + /*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B, + /*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C, + /*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D, + /*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39, + /*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A, + /*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B, + /*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C, + /*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); var Ptg18 = {}; var Ptg19 = { - 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, - 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, - 0xFF: {} + /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, + /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, + /*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, + /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, + /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, + /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, + /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + /*::[*/0xFF/*::]*/: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); - blob.read_shift(1); - var chn = blob.read_shift(4); + if(opts.biff != 2) { + blob.read_shift(1); + if(opts.biff >= 5) { + var chn = blob.read_shift(4); + } + } var cbf = ""; - if(opts.biff === 5) blob.l += length-20; + if(opts.biff < 5) blob.l += length-16; + else if(opts.biff === 5) blob.l += length-20; else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -5789,6 +6037,7 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } + return []; } /* 2.5.198.103 */ @@ -6136,971 +6385,971 @@ function parse_XLSBCellParsedFormula(data, length) { } /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { - 0x1: "REFERENCE", // reference to range - 0x2: "VALUE", // single value - 0x3: "ARRAY" // array of values + /*::[*/0x1/*::]*/: "REFERENCE", // reference to range + /*::[*/0x2/*::]*/: "VALUE", // single value + /*::[*/0x3/*::]*/: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { - 0x0000: 'BEEP', - 0x0001: 'OPEN', - 0x0002: 'OPEN.LINKS', - 0x0003: 'CLOSE.ALL', - 0x0004: 'SAVE', - 0x0005: 'SAVE.AS', - 0x0006: 'FILE.DELETE', - 0x0007: 'PAGE.SETUP', - 0x0008: 'PRINT', - 0x0009: 'PRINTER.SETUP', - 0x000A: 'QUIT', - 0x000B: 'NEW.WINDOW', - 0x000C: 'ARRANGE.ALL', - 0x000D: 'WINDOW.SIZE', - 0x000E: 'WINDOW.MOVE', - 0x000F: 'FULL', - 0x0010: 'CLOSE', - 0x0011: 'RUN', - 0x0016: 'SET.PRINT.AREA', - 0x0017: 'SET.PRINT.TITLES', - 0x0018: 'SET.PAGE.BREAK', - 0x0019: 'REMOVE.PAGE.BREAK', - 0x001A: 'FONT', - 0x001B: 'DISPLAY', - 0x001C: 'PROTECT.DOCUMENT', - 0x001D: 'PRECISION', - 0x001E: 'A1.R1C1', - 0x001F: 'CALCULATE.NOW', - 0x0020: 'CALCULATION', - 0x0022: 'DATA.FIND', - 0x0023: 'EXTRACT', - 0x0024: 'DATA.DELETE', - 0x0025: 'SET.DATABASE', - 0x0026: 'SET.CRITERIA', - 0x0027: 'SORT', - 0x0028: 'DATA.SERIES', - 0x0029: 'TABLE', - 0x002A: 'FORMAT.NUMBER', - 0x002B: 'ALIGNMENT', - 0x002C: 'STYLE', - 0x002D: 'BORDER', - 0x002E: 'CELL.PROTECTION', - 0x002F: 'COLUMN.WIDTH', - 0x0030: 'UNDO', - 0x0031: 'CUT', - 0x0032: 'COPY', - 0x0033: 'PASTE', - 0x0034: 'CLEAR', - 0x0035: 'PASTE.SPECIAL', - 0x0036: 'EDIT.DELETE', - 0x0037: 'INSERT', - 0x0038: 'FILL.RIGHT', - 0x0039: 'FILL.DOWN', - 0x003D: 'DEFINE.NAME', - 0x003E: 'CREATE.NAMES', - 0x003F: 'FORMULA.GOTO', - 0x0040: 'FORMULA.FIND', - 0x0041: 'SELECT.LAST.CELL', - 0x0042: 'SHOW.ACTIVE.CELL', - 0x0043: 'GALLERY.AREA', - 0x0044: 'GALLERY.BAR', - 0x0045: 'GALLERY.COLUMN', - 0x0046: 'GALLERY.LINE', - 0x0047: 'GALLERY.PIE', - 0x0048: 'GALLERY.SCATTER', - 0x0049: 'COMBINATION', - 0x004A: 'PREFERRED', - 0x004B: 'ADD.OVERLAY', - 0x004C: 'GRIDLINES', - 0x004D: 'SET.PREFERRED', - 0x004E: 'AXES', - 0x004F: 'LEGEND', - 0x0050: 'ATTACH.TEXT', - 0x0051: 'ADD.ARROW', - 0x0052: 'SELECT.CHART', - 0x0053: 'SELECT.PLOT.AREA', - 0x0054: 'PATTERNS', - 0x0055: 'MAIN.CHART', - 0x0056: 'OVERLAY', - 0x0057: 'SCALE', - 0x0058: 'FORMAT.LEGEND', - 0x0059: 'FORMAT.TEXT', - 0x005A: 'EDIT.REPEAT', - 0x005B: 'PARSE', - 0x005C: 'JUSTIFY', - 0x005D: 'HIDE', - 0x005E: 'UNHIDE', - 0x005F: 'WORKSPACE', - 0x0060: 'FORMULA', - 0x0061: 'FORMULA.FILL', - 0x0062: 'FORMULA.ARRAY', - 0x0063: 'DATA.FIND.NEXT', - 0x0064: 'DATA.FIND.PREV', - 0x0065: 'FORMULA.FIND.NEXT', - 0x0066: 'FORMULA.FIND.PREV', - 0x0067: 'ACTIVATE', - 0x0068: 'ACTIVATE.NEXT', - 0x0069: 'ACTIVATE.PREV', - 0x006A: 'UNLOCKED.NEXT', - 0x006B: 'UNLOCKED.PREV', - 0x006C: 'COPY.PICTURE', - 0x006D: 'SELECT', - 0x006E: 'DELETE.NAME', - 0x006F: 'DELETE.FORMAT', - 0x0070: 'VLINE', - 0x0071: 'HLINE', - 0x0072: 'VPAGE', - 0x0073: 'HPAGE', - 0x0074: 'VSCROLL', - 0x0075: 'HSCROLL', - 0x0076: 'ALERT', - 0x0077: 'NEW', - 0x0078: 'CANCEL.COPY', - 0x0079: 'SHOW.CLIPBOARD', - 0x007A: 'MESSAGE', - 0x007C: 'PASTE.LINK', - 0x007D: 'APP.ACTIVATE', - 0x007E: 'DELETE.ARROW', - 0x007F: 'ROW.HEIGHT', - 0x0080: 'FORMAT.MOVE', - 0x0081: 'FORMAT.SIZE', - 0x0082: 'FORMULA.REPLACE', - 0x0083: 'SEND.KEYS', - 0x0084: 'SELECT.SPECIAL', - 0x0085: 'APPLY.NAMES', - 0x0086: 'REPLACE.FONT', - 0x0087: 'FREEZE.PANES', - 0x0088: 'SHOW.INFO', - 0x0089: 'SPLIT', - 0x008A: 'ON.WINDOW', - 0x008B: 'ON.DATA', - 0x008C: 'DISABLE.INPUT', - 0x008E: 'OUTLINE', - 0x008F: 'LIST.NAMES', - 0x0090: 'FILE.CLOSE', - 0x0091: 'SAVE.WORKBOOK', - 0x0092: 'DATA.FORM', - 0x0093: 'COPY.CHART', - 0x0094: 'ON.TIME', - 0x0095: 'WAIT', - 0x0096: 'FORMAT.FONT', - 0x0097: 'FILL.UP', - 0x0098: 'FILL.LEFT', - 0x0099: 'DELETE.OVERLAY', - 0x009B: 'SHORT.MENUS', - 0x009F: 'SET.UPDATE.STATUS', - 0x00A1: 'COLOR.PALETTE', - 0x00A2: 'DELETE.STYLE', - 0x00A3: 'WINDOW.RESTORE', - 0x00A4: 'WINDOW.MAXIMIZE', - 0x00A6: 'CHANGE.LINK', - 0x00A7: 'CALCULATE.DOCUMENT', - 0x00A8: 'ON.KEY', - 0x00A9: 'APP.RESTORE', - 0x00AA: 'APP.MOVE', - 0x00AB: 'APP.SIZE', - 0x00AC: 'APP.MINIMIZE', - 0x00AD: 'APP.MAXIMIZE', - 0x00AE: 'BRING.TO.FRONT', - 0x00AF: 'SEND.TO.BACK', - 0x00B9: 'MAIN.CHART.TYPE', - 0x00BA: 'OVERLAY.CHART.TYPE', - 0x00BB: 'SELECT.END', - 0x00BC: 'OPEN.MAIL', - 0x00BD: 'SEND.MAIL', - 0x00BE: 'STANDARD.FONT', - 0x00BF: 'CONSOLIDATE', - 0x00C0: 'SORT.SPECIAL', - 0x00C1: 'GALLERY.3D.AREA', - 0x00C2: 'GALLERY.3D.COLUMN', - 0x00C3: 'GALLERY.3D.LINE', - 0x00C4: 'GALLERY.3D.PIE', - 0x00C5: 'VIEW.3D', - 0x00C6: 'GOAL.SEEK', - 0x00C7: 'WORKGROUP', - 0x00C8: 'FILL.GROUP', - 0x00C9: 'UPDATE.LINK', - 0x00CA: 'PROMOTE', - 0x00CB: 'DEMOTE', - 0x00CC: 'SHOW.DETAIL', - 0x00CE: 'UNGROUP', - 0x00CF: 'OBJECT.PROPERTIES', - 0x00D0: 'SAVE.NEW.OBJECT', - 0x00D1: 'SHARE', - 0x00D2: 'SHARE.NAME', - 0x00D3: 'DUPLICATE', - 0x00D4: 'APPLY.STYLE', - 0x00D5: 'ASSIGN.TO.OBJECT', - 0x00D6: 'OBJECT.PROTECTION', - 0x00D7: 'HIDE.OBJECT', - 0x00D8: 'SET.EXTRACT', - 0x00D9: 'CREATE.PUBLISHER', - 0x00DA: 'SUBSCRIBE.TO', - 0x00DB: 'ATTRIBUTES', - 0x00DC: 'SHOW.TOOLBAR', - 0x00DE: 'PRINT.PREVIEW', - 0x00DF: 'EDIT.COLOR', - 0x00E0: 'SHOW.LEVELS', - 0x00E1: 'FORMAT.MAIN', - 0x00E2: 'FORMAT.OVERLAY', - 0x00E3: 'ON.RECALC', - 0x00E4: 'EDIT.SERIES', - 0x00E5: 'DEFINE.STYLE', - 0x00F0: 'LINE.PRINT', - 0x00F3: 'ENTER.DATA', - 0x00F9: 'GALLERY.RADAR', - 0x00FA: 'MERGE.STYLES', - 0x00FB: 'EDITION.OPTIONS', - 0x00FC: 'PASTE.PICTURE', - 0x00FD: 'PASTE.PICTURE.LINK', - 0x00FE: 'SPELLING', - 0x0100: 'ZOOM', - 0x0103: 'INSERT.OBJECT', - 0x0104: 'WINDOW.MINIMIZE', - 0x0109: 'SOUND.NOTE', - 0x010A: 'SOUND.PLAY', - 0x010B: 'FORMAT.SHAPE', - 0x010C: 'EXTEND.POLYGON', - 0x010D: 'FORMAT.AUTO', - 0x0110: 'GALLERY.3D.BAR', - 0x0111: 'GALLERY.3D.SURFACE', - 0x0112: 'FILL.AUTO', - 0x0114: 'CUSTOMIZE.TOOLBAR', - 0x0115: 'ADD.TOOL', - 0x0116: 'EDIT.OBJECT', - 0x0117: 'ON.DOUBLECLICK', - 0x0118: 'ON.ENTRY', - 0x0119: 'WORKBOOK.ADD', - 0x011A: 'WORKBOOK.MOVE', - 0x011B: 'WORKBOOK.COPY', - 0x011C: 'WORKBOOK.OPTIONS', - 0x011D: 'SAVE.WORKSPACE', - 0x0120: 'CHART.WIZARD', - 0x0121: 'DELETE.TOOL', - 0x0122: 'MOVE.TOOL', - 0x0123: 'WORKBOOK.SELECT', - 0x0124: 'WORKBOOK.ACTIVATE', - 0x0125: 'ASSIGN.TO.TOOL', - 0x0127: 'COPY.TOOL', - 0x0128: 'RESET.TOOL', - 0x0129: 'CONSTRAIN.NUMERIC', - 0x012A: 'PASTE.TOOL', - 0x012E: 'WORKBOOK.NEW', - 0x0131: 'SCENARIO.CELLS', - 0x0132: 'SCENARIO.DELETE', - 0x0133: 'SCENARIO.ADD', - 0x0134: 'SCENARIO.EDIT', - 0x0135: 'SCENARIO.SHOW', - 0x0136: 'SCENARIO.SHOW.NEXT', - 0x0137: 'SCENARIO.SUMMARY', - 0x0138: 'PIVOT.TABLE.WIZARD', - 0x0139: 'PIVOT.FIELD.PROPERTIES', - 0x013A: 'PIVOT.FIELD', - 0x013B: 'PIVOT.ITEM', - 0x013C: 'PIVOT.ADD.FIELDS', - 0x013E: 'OPTIONS.CALCULATION', - 0x013F: 'OPTIONS.EDIT', - 0x0140: 'OPTIONS.VIEW', - 0x0141: 'ADDIN.MANAGER', - 0x0142: 'MENU.EDITOR', - 0x0143: 'ATTACH.TOOLBARS', - 0x0144: 'VBAActivate', - 0x0145: 'OPTIONS.CHART', - 0x0148: 'VBA.INSERT.FILE', - 0x014A: 'VBA.PROCEDURE.DEFINITION', - 0x0150: 'ROUTING.SLIP', - 0x0152: 'ROUTE.DOCUMENT', - 0x0153: 'MAIL.LOGON', - 0x0156: 'INSERT.PICTURE', - 0x0157: 'EDIT.TOOL', - 0x0158: 'GALLERY.DOUGHNUT', - 0x015E: 'CHART.TREND', - 0x0160: 'PIVOT.ITEM.PROPERTIES', - 0x0162: 'WORKBOOK.INSERT', - 0x0163: 'OPTIONS.TRANSITION', - 0x0164: 'OPTIONS.GENERAL', - 0x0172: 'FILTER.ADVANCED', - 0x0175: 'MAIL.ADD.MAILER', - 0x0176: 'MAIL.DELETE.MAILER', - 0x0177: 'MAIL.REPLY', - 0x0178: 'MAIL.REPLY.ALL', - 0x0179: 'MAIL.FORWARD', - 0x017A: 'MAIL.NEXT.LETTER', - 0x017B: 'DATA.LABEL', - 0x017C: 'INSERT.TITLE', - 0x017D: 'FONT.PROPERTIES', - 0x017E: 'MACRO.OPTIONS', - 0x017F: 'WORKBOOK.HIDE', - 0x0180: 'WORKBOOK.UNHIDE', - 0x0181: 'WORKBOOK.DELETE', - 0x0182: 'WORKBOOK.NAME', - 0x0184: 'GALLERY.CUSTOM', - 0x0186: 'ADD.CHART.AUTOFORMAT', - 0x0187: 'DELETE.CHART.AUTOFORMAT', - 0x0188: 'CHART.ADD.DATA', - 0x0189: 'AUTO.OUTLINE', - 0x018A: 'TAB.ORDER', - 0x018B: 'SHOW.DIALOG', - 0x018C: 'SELECT.ALL', - 0x018D: 'UNGROUP.SHEETS', - 0x018E: 'SUBTOTAL.CREATE', - 0x018F: 'SUBTOTAL.REMOVE', - 0x0190: 'RENAME.OBJECT', - 0x019C: 'WORKBOOK.SCROLL', - 0x019D: 'WORKBOOK.NEXT', - 0x019E: 'WORKBOOK.PREV', - 0x019F: 'WORKBOOK.TAB.SPLIT', - 0x01A0: 'FULL.SCREEN', - 0x01A1: 'WORKBOOK.PROTECT', - 0x01A4: 'SCROLLBAR.PROPERTIES', - 0x01A5: 'PIVOT.SHOW.PAGES', - 0x01A6: 'TEXT.TO.COLUMNS', - 0x01A7: 'FORMAT.CHARTTYPE', - 0x01A8: 'LINK.FORMAT', - 0x01A9: 'TRACER.DISPLAY', - 0x01AE: 'TRACER.NAVIGATE', - 0x01AF: 'TRACER.CLEAR', - 0x01B0: 'TRACER.ERROR', - 0x01B1: 'PIVOT.FIELD.GROUP', - 0x01B2: 'PIVOT.FIELD.UNGROUP', - 0x01B3: 'CHECKBOX.PROPERTIES', - 0x01B4: 'LABEL.PROPERTIES', - 0x01B5: 'LISTBOX.PROPERTIES', - 0x01B6: 'EDITBOX.PROPERTIES', - 0x01B7: 'PIVOT.REFRESH', - 0x01B8: 'LINK.COMBO', - 0x01B9: 'OPEN.TEXT', - 0x01BA: 'HIDE.DIALOG', - 0x01BB: 'SET.DIALOG.FOCUS', - 0x01BC: 'ENABLE.OBJECT', - 0x01BD: 'PUSHBUTTON.PROPERTIES', - 0x01BE: 'SET.DIALOG.DEFAULT', - 0x01BF: 'FILTER', - 0x01C0: 'FILTER.SHOW.ALL', - 0x01C1: 'CLEAR.OUTLINE', - 0x01C2: 'FUNCTION.WIZARD', - 0x01C3: 'ADD.LIST.ITEM', - 0x01C4: 'SET.LIST.ITEM', - 0x01C5: 'REMOVE.LIST.ITEM', - 0x01C6: 'SELECT.LIST.ITEM', - 0x01C7: 'SET.CONTROL.VALUE', - 0x01C8: 'SAVE.COPY.AS', - 0x01CA: 'OPTIONS.LISTS.ADD', - 0x01CB: 'OPTIONS.LISTS.DELETE', - 0x01CC: 'SERIES.AXES', - 0x01CD: 'SERIES.X', - 0x01CE: 'SERIES.Y', - 0x01CF: 'ERRORBAR.X', - 0x01D0: 'ERRORBAR.Y', - 0x01D1: 'FORMAT.CHART', - 0x01D2: 'SERIES.ORDER', - 0x01D3: 'MAIL.LOGOFF', - 0x01D4: 'CLEAR.ROUTING.SLIP', - 0x01D5: 'APP.ACTIVATE.MICROSOFT', - 0x01D6: 'MAIL.EDIT.MAILER', - 0x01D7: 'ON.SHEET', - 0x01D8: 'STANDARD.WIDTH', - 0x01D9: 'SCENARIO.MERGE', - 0x01DA: 'SUMMARY.INFO', - 0x01DB: 'FIND.FILE', - 0x01DC: 'ACTIVE.CELL.FONT', - 0x01DD: 'ENABLE.TIPWIZARD', - 0x01DE: 'VBA.MAKE.ADDIN', - 0x01E0: 'INSERTDATATABLE', - 0x01E1: 'WORKGROUP.OPTIONS', - 0x01E2: 'MAIL.SEND.MAILER', - 0x01E5: 'AUTOCORRECT', - 0x01E9: 'POST.DOCUMENT', - 0x01EB: 'PICKLIST', - 0x01ED: 'VIEW.SHOW', - 0x01EE: 'VIEW.DEFINE', - 0x01EF: 'VIEW.DELETE', - 0x01FD: 'SHEET.BACKGROUND', - 0x01FE: 'INSERT.MAP.OBJECT', - 0x01FF: 'OPTIONS.MENONO', - 0x0205: 'MSOCHECKS', - 0x0206: 'NORMAL', - 0x0207: 'LAYOUT', - 0x0208: 'RM.PRINT.AREA', - 0x0209: 'CLEAR.PRINT.AREA', - 0x020A: 'ADD.PRINT.AREA', - 0x020B: 'MOVE.BRK', - 0x0221: 'HIDECURR.NOTE', - 0x0222: 'HIDEALL.NOTES', - 0x0223: 'DELETE.NOTE', - 0x0224: 'TRAVERSE.NOTES', - 0x0225: 'ACTIVATE.NOTES', - 0x026C: 'PROTECT.REVISIONS', - 0x026D: 'UNPROTECT.REVISIONS', - 0x0287: 'OPTIONS.ME', - 0x028D: 'WEB.PUBLISH', - 0x029B: 'NEWWEBQUERY', - 0x02A1: 'PIVOT.TABLE.CHART', - 0x02F1: 'OPTIONS.SAVE', - 0x02F3: 'OPTIONS.SPELL', - 0x0328: 'HIDEALL.INKANNOTS' + /*::[*/0x0000/*::]*/: 'BEEP', + /*::[*/0x0001/*::]*/: 'OPEN', + /*::[*/0x0002/*::]*/: 'OPEN.LINKS', + /*::[*/0x0003/*::]*/: 'CLOSE.ALL', + /*::[*/0x0004/*::]*/: 'SAVE', + /*::[*/0x0005/*::]*/: 'SAVE.AS', + /*::[*/0x0006/*::]*/: 'FILE.DELETE', + /*::[*/0x0007/*::]*/: 'PAGE.SETUP', + /*::[*/0x0008/*::]*/: 'PRINT', + /*::[*/0x0009/*::]*/: 'PRINTER.SETUP', + /*::[*/0x000A/*::]*/: 'QUIT', + /*::[*/0x000B/*::]*/: 'NEW.WINDOW', + /*::[*/0x000C/*::]*/: 'ARRANGE.ALL', + /*::[*/0x000D/*::]*/: 'WINDOW.SIZE', + /*::[*/0x000E/*::]*/: 'WINDOW.MOVE', + /*::[*/0x000F/*::]*/: 'FULL', + /*::[*/0x0010/*::]*/: 'CLOSE', + /*::[*/0x0011/*::]*/: 'RUN', + /*::[*/0x0016/*::]*/: 'SET.PRINT.AREA', + /*::[*/0x0017/*::]*/: 'SET.PRINT.TITLES', + /*::[*/0x0018/*::]*/: 'SET.PAGE.BREAK', + /*::[*/0x0019/*::]*/: 'REMOVE.PAGE.BREAK', + /*::[*/0x001A/*::]*/: 'FONT', + /*::[*/0x001B/*::]*/: 'DISPLAY', + /*::[*/0x001C/*::]*/: 'PROTECT.DOCUMENT', + /*::[*/0x001D/*::]*/: 'PRECISION', + /*::[*/0x001E/*::]*/: 'A1.R1C1', + /*::[*/0x001F/*::]*/: 'CALCULATE.NOW', + /*::[*/0x0020/*::]*/: 'CALCULATION', + /*::[*/0x0022/*::]*/: 'DATA.FIND', + /*::[*/0x0023/*::]*/: 'EXTRACT', + /*::[*/0x0024/*::]*/: 'DATA.DELETE', + /*::[*/0x0025/*::]*/: 'SET.DATABASE', + /*::[*/0x0026/*::]*/: 'SET.CRITERIA', + /*::[*/0x0027/*::]*/: 'SORT', + /*::[*/0x0028/*::]*/: 'DATA.SERIES', + /*::[*/0x0029/*::]*/: 'TABLE', + /*::[*/0x002A/*::]*/: 'FORMAT.NUMBER', + /*::[*/0x002B/*::]*/: 'ALIGNMENT', + /*::[*/0x002C/*::]*/: 'STYLE', + /*::[*/0x002D/*::]*/: 'BORDER', + /*::[*/0x002E/*::]*/: 'CELL.PROTECTION', + /*::[*/0x002F/*::]*/: 'COLUMN.WIDTH', + /*::[*/0x0030/*::]*/: 'UNDO', + /*::[*/0x0031/*::]*/: 'CUT', + /*::[*/0x0032/*::]*/: 'COPY', + /*::[*/0x0033/*::]*/: 'PASTE', + /*::[*/0x0034/*::]*/: 'CLEAR', + /*::[*/0x0035/*::]*/: 'PASTE.SPECIAL', + /*::[*/0x0036/*::]*/: 'EDIT.DELETE', + /*::[*/0x0037/*::]*/: 'INSERT', + /*::[*/0x0038/*::]*/: 'FILL.RIGHT', + /*::[*/0x0039/*::]*/: 'FILL.DOWN', + /*::[*/0x003D/*::]*/: 'DEFINE.NAME', + /*::[*/0x003E/*::]*/: 'CREATE.NAMES', + /*::[*/0x003F/*::]*/: 'FORMULA.GOTO', + /*::[*/0x0040/*::]*/: 'FORMULA.FIND', + /*::[*/0x0041/*::]*/: 'SELECT.LAST.CELL', + /*::[*/0x0042/*::]*/: 'SHOW.ACTIVE.CELL', + /*::[*/0x0043/*::]*/: 'GALLERY.AREA', + /*::[*/0x0044/*::]*/: 'GALLERY.BAR', + /*::[*/0x0045/*::]*/: 'GALLERY.COLUMN', + /*::[*/0x0046/*::]*/: 'GALLERY.LINE', + /*::[*/0x0047/*::]*/: 'GALLERY.PIE', + /*::[*/0x0048/*::]*/: 'GALLERY.SCATTER', + /*::[*/0x0049/*::]*/: 'COMBINATION', + /*::[*/0x004A/*::]*/: 'PREFERRED', + /*::[*/0x004B/*::]*/: 'ADD.OVERLAY', + /*::[*/0x004C/*::]*/: 'GRIDLINES', + /*::[*/0x004D/*::]*/: 'SET.PREFERRED', + /*::[*/0x004E/*::]*/: 'AXES', + /*::[*/0x004F/*::]*/: 'LEGEND', + /*::[*/0x0050/*::]*/: 'ATTACH.TEXT', + /*::[*/0x0051/*::]*/: 'ADD.ARROW', + /*::[*/0x0052/*::]*/: 'SELECT.CHART', + /*::[*/0x0053/*::]*/: 'SELECT.PLOT.AREA', + /*::[*/0x0054/*::]*/: 'PATTERNS', + /*::[*/0x0055/*::]*/: 'MAIN.CHART', + /*::[*/0x0056/*::]*/: 'OVERLAY', + /*::[*/0x0057/*::]*/: 'SCALE', + /*::[*/0x0058/*::]*/: 'FORMAT.LEGEND', + /*::[*/0x0059/*::]*/: 'FORMAT.TEXT', + /*::[*/0x005A/*::]*/: 'EDIT.REPEAT', + /*::[*/0x005B/*::]*/: 'PARSE', + /*::[*/0x005C/*::]*/: 'JUSTIFY', + /*::[*/0x005D/*::]*/: 'HIDE', + /*::[*/0x005E/*::]*/: 'UNHIDE', + /*::[*/0x005F/*::]*/: 'WORKSPACE', + /*::[*/0x0060/*::]*/: 'FORMULA', + /*::[*/0x0061/*::]*/: 'FORMULA.FILL', + /*::[*/0x0062/*::]*/: 'FORMULA.ARRAY', + /*::[*/0x0063/*::]*/: 'DATA.FIND.NEXT', + /*::[*/0x0064/*::]*/: 'DATA.FIND.PREV', + /*::[*/0x0065/*::]*/: 'FORMULA.FIND.NEXT', + /*::[*/0x0066/*::]*/: 'FORMULA.FIND.PREV', + /*::[*/0x0067/*::]*/: 'ACTIVATE', + /*::[*/0x0068/*::]*/: 'ACTIVATE.NEXT', + /*::[*/0x0069/*::]*/: 'ACTIVATE.PREV', + /*::[*/0x006A/*::]*/: 'UNLOCKED.NEXT', + /*::[*/0x006B/*::]*/: 'UNLOCKED.PREV', + /*::[*/0x006C/*::]*/: 'COPY.PICTURE', + /*::[*/0x006D/*::]*/: 'SELECT', + /*::[*/0x006E/*::]*/: 'DELETE.NAME', + /*::[*/0x006F/*::]*/: 'DELETE.FORMAT', + /*::[*/0x0070/*::]*/: 'VLINE', + /*::[*/0x0071/*::]*/: 'HLINE', + /*::[*/0x0072/*::]*/: 'VPAGE', + /*::[*/0x0073/*::]*/: 'HPAGE', + /*::[*/0x0074/*::]*/: 'VSCROLL', + /*::[*/0x0075/*::]*/: 'HSCROLL', + /*::[*/0x0076/*::]*/: 'ALERT', + /*::[*/0x0077/*::]*/: 'NEW', + /*::[*/0x0078/*::]*/: 'CANCEL.COPY', + /*::[*/0x0079/*::]*/: 'SHOW.CLIPBOARD', + /*::[*/0x007A/*::]*/: 'MESSAGE', + /*::[*/0x007C/*::]*/: 'PASTE.LINK', + /*::[*/0x007D/*::]*/: 'APP.ACTIVATE', + /*::[*/0x007E/*::]*/: 'DELETE.ARROW', + /*::[*/0x007F/*::]*/: 'ROW.HEIGHT', + /*::[*/0x0080/*::]*/: 'FORMAT.MOVE', + /*::[*/0x0081/*::]*/: 'FORMAT.SIZE', + /*::[*/0x0082/*::]*/: 'FORMULA.REPLACE', + /*::[*/0x0083/*::]*/: 'SEND.KEYS', + /*::[*/0x0084/*::]*/: 'SELECT.SPECIAL', + /*::[*/0x0085/*::]*/: 'APPLY.NAMES', + /*::[*/0x0086/*::]*/: 'REPLACE.FONT', + /*::[*/0x0087/*::]*/: 'FREEZE.PANES', + /*::[*/0x0088/*::]*/: 'SHOW.INFO', + /*::[*/0x0089/*::]*/: 'SPLIT', + /*::[*/0x008A/*::]*/: 'ON.WINDOW', + /*::[*/0x008B/*::]*/: 'ON.DATA', + /*::[*/0x008C/*::]*/: 'DISABLE.INPUT', + /*::[*/0x008E/*::]*/: 'OUTLINE', + /*::[*/0x008F/*::]*/: 'LIST.NAMES', + /*::[*/0x0090/*::]*/: 'FILE.CLOSE', + /*::[*/0x0091/*::]*/: 'SAVE.WORKBOOK', + /*::[*/0x0092/*::]*/: 'DATA.FORM', + /*::[*/0x0093/*::]*/: 'COPY.CHART', + /*::[*/0x0094/*::]*/: 'ON.TIME', + /*::[*/0x0095/*::]*/: 'WAIT', + /*::[*/0x0096/*::]*/: 'FORMAT.FONT', + /*::[*/0x0097/*::]*/: 'FILL.UP', + /*::[*/0x0098/*::]*/: 'FILL.LEFT', + /*::[*/0x0099/*::]*/: 'DELETE.OVERLAY', + /*::[*/0x009B/*::]*/: 'SHORT.MENUS', + /*::[*/0x009F/*::]*/: 'SET.UPDATE.STATUS', + /*::[*/0x00A1/*::]*/: 'COLOR.PALETTE', + /*::[*/0x00A2/*::]*/: 'DELETE.STYLE', + /*::[*/0x00A3/*::]*/: 'WINDOW.RESTORE', + /*::[*/0x00A4/*::]*/: 'WINDOW.MAXIMIZE', + /*::[*/0x00A6/*::]*/: 'CHANGE.LINK', + /*::[*/0x00A7/*::]*/: 'CALCULATE.DOCUMENT', + /*::[*/0x00A8/*::]*/: 'ON.KEY', + /*::[*/0x00A9/*::]*/: 'APP.RESTORE', + /*::[*/0x00AA/*::]*/: 'APP.MOVE', + /*::[*/0x00AB/*::]*/: 'APP.SIZE', + /*::[*/0x00AC/*::]*/: 'APP.MINIMIZE', + /*::[*/0x00AD/*::]*/: 'APP.MAXIMIZE', + /*::[*/0x00AE/*::]*/: 'BRING.TO.FRONT', + /*::[*/0x00AF/*::]*/: 'SEND.TO.BACK', + /*::[*/0x00B9/*::]*/: 'MAIN.CHART.TYPE', + /*::[*/0x00BA/*::]*/: 'OVERLAY.CHART.TYPE', + /*::[*/0x00BB/*::]*/: 'SELECT.END', + /*::[*/0x00BC/*::]*/: 'OPEN.MAIL', + /*::[*/0x00BD/*::]*/: 'SEND.MAIL', + /*::[*/0x00BE/*::]*/: 'STANDARD.FONT', + /*::[*/0x00BF/*::]*/: 'CONSOLIDATE', + /*::[*/0x00C0/*::]*/: 'SORT.SPECIAL', + /*::[*/0x00C1/*::]*/: 'GALLERY.3D.AREA', + /*::[*/0x00C2/*::]*/: 'GALLERY.3D.COLUMN', + /*::[*/0x00C3/*::]*/: 'GALLERY.3D.LINE', + /*::[*/0x00C4/*::]*/: 'GALLERY.3D.PIE', + /*::[*/0x00C5/*::]*/: 'VIEW.3D', + /*::[*/0x00C6/*::]*/: 'GOAL.SEEK', + /*::[*/0x00C7/*::]*/: 'WORKGROUP', + /*::[*/0x00C8/*::]*/: 'FILL.GROUP', + /*::[*/0x00C9/*::]*/: 'UPDATE.LINK', + /*::[*/0x00CA/*::]*/: 'PROMOTE', + /*::[*/0x00CB/*::]*/: 'DEMOTE', + /*::[*/0x00CC/*::]*/: 'SHOW.DETAIL', + /*::[*/0x00CE/*::]*/: 'UNGROUP', + /*::[*/0x00CF/*::]*/: 'OBJECT.PROPERTIES', + /*::[*/0x00D0/*::]*/: 'SAVE.NEW.OBJECT', + /*::[*/0x00D1/*::]*/: 'SHARE', + /*::[*/0x00D2/*::]*/: 'SHARE.NAME', + /*::[*/0x00D3/*::]*/: 'DUPLICATE', + /*::[*/0x00D4/*::]*/: 'APPLY.STYLE', + /*::[*/0x00D5/*::]*/: 'ASSIGN.TO.OBJECT', + /*::[*/0x00D6/*::]*/: 'OBJECT.PROTECTION', + /*::[*/0x00D7/*::]*/: 'HIDE.OBJECT', + /*::[*/0x00D8/*::]*/: 'SET.EXTRACT', + /*::[*/0x00D9/*::]*/: 'CREATE.PUBLISHER', + /*::[*/0x00DA/*::]*/: 'SUBSCRIBE.TO', + /*::[*/0x00DB/*::]*/: 'ATTRIBUTES', + /*::[*/0x00DC/*::]*/: 'SHOW.TOOLBAR', + /*::[*/0x00DE/*::]*/: 'PRINT.PREVIEW', + /*::[*/0x00DF/*::]*/: 'EDIT.COLOR', + /*::[*/0x00E0/*::]*/: 'SHOW.LEVELS', + /*::[*/0x00E1/*::]*/: 'FORMAT.MAIN', + /*::[*/0x00E2/*::]*/: 'FORMAT.OVERLAY', + /*::[*/0x00E3/*::]*/: 'ON.RECALC', + /*::[*/0x00E4/*::]*/: 'EDIT.SERIES', + /*::[*/0x00E5/*::]*/: 'DEFINE.STYLE', + /*::[*/0x00F0/*::]*/: 'LINE.PRINT', + /*::[*/0x00F3/*::]*/: 'ENTER.DATA', + /*::[*/0x00F9/*::]*/: 'GALLERY.RADAR', + /*::[*/0x00FA/*::]*/: 'MERGE.STYLES', + /*::[*/0x00FB/*::]*/: 'EDITION.OPTIONS', + /*::[*/0x00FC/*::]*/: 'PASTE.PICTURE', + /*::[*/0x00FD/*::]*/: 'PASTE.PICTURE.LINK', + /*::[*/0x00FE/*::]*/: 'SPELLING', + /*::[*/0x0100/*::]*/: 'ZOOM', + /*::[*/0x0103/*::]*/: 'INSERT.OBJECT', + /*::[*/0x0104/*::]*/: 'WINDOW.MINIMIZE', + /*::[*/0x0109/*::]*/: 'SOUND.NOTE', + /*::[*/0x010A/*::]*/: 'SOUND.PLAY', + /*::[*/0x010B/*::]*/: 'FORMAT.SHAPE', + /*::[*/0x010C/*::]*/: 'EXTEND.POLYGON', + /*::[*/0x010D/*::]*/: 'FORMAT.AUTO', + /*::[*/0x0110/*::]*/: 'GALLERY.3D.BAR', + /*::[*/0x0111/*::]*/: 'GALLERY.3D.SURFACE', + /*::[*/0x0112/*::]*/: 'FILL.AUTO', + /*::[*/0x0114/*::]*/: 'CUSTOMIZE.TOOLBAR', + /*::[*/0x0115/*::]*/: 'ADD.TOOL', + /*::[*/0x0116/*::]*/: 'EDIT.OBJECT', + /*::[*/0x0117/*::]*/: 'ON.DOUBLECLICK', + /*::[*/0x0118/*::]*/: 'ON.ENTRY', + /*::[*/0x0119/*::]*/: 'WORKBOOK.ADD', + /*::[*/0x011A/*::]*/: 'WORKBOOK.MOVE', + /*::[*/0x011B/*::]*/: 'WORKBOOK.COPY', + /*::[*/0x011C/*::]*/: 'WORKBOOK.OPTIONS', + /*::[*/0x011D/*::]*/: 'SAVE.WORKSPACE', + /*::[*/0x0120/*::]*/: 'CHART.WIZARD', + /*::[*/0x0121/*::]*/: 'DELETE.TOOL', + /*::[*/0x0122/*::]*/: 'MOVE.TOOL', + /*::[*/0x0123/*::]*/: 'WORKBOOK.SELECT', + /*::[*/0x0124/*::]*/: 'WORKBOOK.ACTIVATE', + /*::[*/0x0125/*::]*/: 'ASSIGN.TO.TOOL', + /*::[*/0x0127/*::]*/: 'COPY.TOOL', + /*::[*/0x0128/*::]*/: 'RESET.TOOL', + /*::[*/0x0129/*::]*/: 'CONSTRAIN.NUMERIC', + /*::[*/0x012A/*::]*/: 'PASTE.TOOL', + /*::[*/0x012E/*::]*/: 'WORKBOOK.NEW', + /*::[*/0x0131/*::]*/: 'SCENARIO.CELLS', + /*::[*/0x0132/*::]*/: 'SCENARIO.DELETE', + /*::[*/0x0133/*::]*/: 'SCENARIO.ADD', + /*::[*/0x0134/*::]*/: 'SCENARIO.EDIT', + /*::[*/0x0135/*::]*/: 'SCENARIO.SHOW', + /*::[*/0x0136/*::]*/: 'SCENARIO.SHOW.NEXT', + /*::[*/0x0137/*::]*/: 'SCENARIO.SUMMARY', + /*::[*/0x0138/*::]*/: 'PIVOT.TABLE.WIZARD', + /*::[*/0x0139/*::]*/: 'PIVOT.FIELD.PROPERTIES', + /*::[*/0x013A/*::]*/: 'PIVOT.FIELD', + /*::[*/0x013B/*::]*/: 'PIVOT.ITEM', + /*::[*/0x013C/*::]*/: 'PIVOT.ADD.FIELDS', + /*::[*/0x013E/*::]*/: 'OPTIONS.CALCULATION', + /*::[*/0x013F/*::]*/: 'OPTIONS.EDIT', + /*::[*/0x0140/*::]*/: 'OPTIONS.VIEW', + /*::[*/0x0141/*::]*/: 'ADDIN.MANAGER', + /*::[*/0x0142/*::]*/: 'MENU.EDITOR', + /*::[*/0x0143/*::]*/: 'ATTACH.TOOLBARS', + /*::[*/0x0144/*::]*/: 'VBAActivate', + /*::[*/0x0145/*::]*/: 'OPTIONS.CHART', + /*::[*/0x0148/*::]*/: 'VBA.INSERT.FILE', + /*::[*/0x014A/*::]*/: 'VBA.PROCEDURE.DEFINITION', + /*::[*/0x0150/*::]*/: 'ROUTING.SLIP', + /*::[*/0x0152/*::]*/: 'ROUTE.DOCUMENT', + /*::[*/0x0153/*::]*/: 'MAIL.LOGON', + /*::[*/0x0156/*::]*/: 'INSERT.PICTURE', + /*::[*/0x0157/*::]*/: 'EDIT.TOOL', + /*::[*/0x0158/*::]*/: 'GALLERY.DOUGHNUT', + /*::[*/0x015E/*::]*/: 'CHART.TREND', + /*::[*/0x0160/*::]*/: 'PIVOT.ITEM.PROPERTIES', + /*::[*/0x0162/*::]*/: 'WORKBOOK.INSERT', + /*::[*/0x0163/*::]*/: 'OPTIONS.TRANSITION', + /*::[*/0x0164/*::]*/: 'OPTIONS.GENERAL', + /*::[*/0x0172/*::]*/: 'FILTER.ADVANCED', + /*::[*/0x0175/*::]*/: 'MAIL.ADD.MAILER', + /*::[*/0x0176/*::]*/: 'MAIL.DELETE.MAILER', + /*::[*/0x0177/*::]*/: 'MAIL.REPLY', + /*::[*/0x0178/*::]*/: 'MAIL.REPLY.ALL', + /*::[*/0x0179/*::]*/: 'MAIL.FORWARD', + /*::[*/0x017A/*::]*/: 'MAIL.NEXT.LETTER', + /*::[*/0x017B/*::]*/: 'DATA.LABEL', + /*::[*/0x017C/*::]*/: 'INSERT.TITLE', + /*::[*/0x017D/*::]*/: 'FONT.PROPERTIES', + /*::[*/0x017E/*::]*/: 'MACRO.OPTIONS', + /*::[*/0x017F/*::]*/: 'WORKBOOK.HIDE', + /*::[*/0x0180/*::]*/: 'WORKBOOK.UNHIDE', + /*::[*/0x0181/*::]*/: 'WORKBOOK.DELETE', + /*::[*/0x0182/*::]*/: 'WORKBOOK.NAME', + /*::[*/0x0184/*::]*/: 'GALLERY.CUSTOM', + /*::[*/0x0186/*::]*/: 'ADD.CHART.AUTOFORMAT', + /*::[*/0x0187/*::]*/: 'DELETE.CHART.AUTOFORMAT', + /*::[*/0x0188/*::]*/: 'CHART.ADD.DATA', + /*::[*/0x0189/*::]*/: 'AUTO.OUTLINE', + /*::[*/0x018A/*::]*/: 'TAB.ORDER', + /*::[*/0x018B/*::]*/: 'SHOW.DIALOG', + /*::[*/0x018C/*::]*/: 'SELECT.ALL', + /*::[*/0x018D/*::]*/: 'UNGROUP.SHEETS', + /*::[*/0x018E/*::]*/: 'SUBTOTAL.CREATE', + /*::[*/0x018F/*::]*/: 'SUBTOTAL.REMOVE', + /*::[*/0x0190/*::]*/: 'RENAME.OBJECT', + /*::[*/0x019C/*::]*/: 'WORKBOOK.SCROLL', + /*::[*/0x019D/*::]*/: 'WORKBOOK.NEXT', + /*::[*/0x019E/*::]*/: 'WORKBOOK.PREV', + /*::[*/0x019F/*::]*/: 'WORKBOOK.TAB.SPLIT', + /*::[*/0x01A0/*::]*/: 'FULL.SCREEN', + /*::[*/0x01A1/*::]*/: 'WORKBOOK.PROTECT', + /*::[*/0x01A4/*::]*/: 'SCROLLBAR.PROPERTIES', + /*::[*/0x01A5/*::]*/: 'PIVOT.SHOW.PAGES', + /*::[*/0x01A6/*::]*/: 'TEXT.TO.COLUMNS', + /*::[*/0x01A7/*::]*/: 'FORMAT.CHARTTYPE', + /*::[*/0x01A8/*::]*/: 'LINK.FORMAT', + /*::[*/0x01A9/*::]*/: 'TRACER.DISPLAY', + /*::[*/0x01AE/*::]*/: 'TRACER.NAVIGATE', + /*::[*/0x01AF/*::]*/: 'TRACER.CLEAR', + /*::[*/0x01B0/*::]*/: 'TRACER.ERROR', + /*::[*/0x01B1/*::]*/: 'PIVOT.FIELD.GROUP', + /*::[*/0x01B2/*::]*/: 'PIVOT.FIELD.UNGROUP', + /*::[*/0x01B3/*::]*/: 'CHECKBOX.PROPERTIES', + /*::[*/0x01B4/*::]*/: 'LABEL.PROPERTIES', + /*::[*/0x01B5/*::]*/: 'LISTBOX.PROPERTIES', + /*::[*/0x01B6/*::]*/: 'EDITBOX.PROPERTIES', + /*::[*/0x01B7/*::]*/: 'PIVOT.REFRESH', + /*::[*/0x01B8/*::]*/: 'LINK.COMBO', + /*::[*/0x01B9/*::]*/: 'OPEN.TEXT', + /*::[*/0x01BA/*::]*/: 'HIDE.DIALOG', + /*::[*/0x01BB/*::]*/: 'SET.DIALOG.FOCUS', + /*::[*/0x01BC/*::]*/: 'ENABLE.OBJECT', + /*::[*/0x01BD/*::]*/: 'PUSHBUTTON.PROPERTIES', + /*::[*/0x01BE/*::]*/: 'SET.DIALOG.DEFAULT', + /*::[*/0x01BF/*::]*/: 'FILTER', + /*::[*/0x01C0/*::]*/: 'FILTER.SHOW.ALL', + /*::[*/0x01C1/*::]*/: 'CLEAR.OUTLINE', + /*::[*/0x01C2/*::]*/: 'FUNCTION.WIZARD', + /*::[*/0x01C3/*::]*/: 'ADD.LIST.ITEM', + /*::[*/0x01C4/*::]*/: 'SET.LIST.ITEM', + /*::[*/0x01C5/*::]*/: 'REMOVE.LIST.ITEM', + /*::[*/0x01C6/*::]*/: 'SELECT.LIST.ITEM', + /*::[*/0x01C7/*::]*/: 'SET.CONTROL.VALUE', + /*::[*/0x01C8/*::]*/: 'SAVE.COPY.AS', + /*::[*/0x01CA/*::]*/: 'OPTIONS.LISTS.ADD', + /*::[*/0x01CB/*::]*/: 'OPTIONS.LISTS.DELETE', + /*::[*/0x01CC/*::]*/: 'SERIES.AXES', + /*::[*/0x01CD/*::]*/: 'SERIES.X', + /*::[*/0x01CE/*::]*/: 'SERIES.Y', + /*::[*/0x01CF/*::]*/: 'ERRORBAR.X', + /*::[*/0x01D0/*::]*/: 'ERRORBAR.Y', + /*::[*/0x01D1/*::]*/: 'FORMAT.CHART', + /*::[*/0x01D2/*::]*/: 'SERIES.ORDER', + /*::[*/0x01D3/*::]*/: 'MAIL.LOGOFF', + /*::[*/0x01D4/*::]*/: 'CLEAR.ROUTING.SLIP', + /*::[*/0x01D5/*::]*/: 'APP.ACTIVATE.MICROSOFT', + /*::[*/0x01D6/*::]*/: 'MAIL.EDIT.MAILER', + /*::[*/0x01D7/*::]*/: 'ON.SHEET', + /*::[*/0x01D8/*::]*/: 'STANDARD.WIDTH', + /*::[*/0x01D9/*::]*/: 'SCENARIO.MERGE', + /*::[*/0x01DA/*::]*/: 'SUMMARY.INFO', + /*::[*/0x01DB/*::]*/: 'FIND.FILE', + /*::[*/0x01DC/*::]*/: 'ACTIVE.CELL.FONT', + /*::[*/0x01DD/*::]*/: 'ENABLE.TIPWIZARD', + /*::[*/0x01DE/*::]*/: 'VBA.MAKE.ADDIN', + /*::[*/0x01E0/*::]*/: 'INSERTDATATABLE', + /*::[*/0x01E1/*::]*/: 'WORKGROUP.OPTIONS', + /*::[*/0x01E2/*::]*/: 'MAIL.SEND.MAILER', + /*::[*/0x01E5/*::]*/: 'AUTOCORRECT', + /*::[*/0x01E9/*::]*/: 'POST.DOCUMENT', + /*::[*/0x01EB/*::]*/: 'PICKLIST', + /*::[*/0x01ED/*::]*/: 'VIEW.SHOW', + /*::[*/0x01EE/*::]*/: 'VIEW.DEFINE', + /*::[*/0x01EF/*::]*/: 'VIEW.DELETE', + /*::[*/0x01FD/*::]*/: 'SHEET.BACKGROUND', + /*::[*/0x01FE/*::]*/: 'INSERT.MAP.OBJECT', + /*::[*/0x01FF/*::]*/: 'OPTIONS.MENONO', + /*::[*/0x0205/*::]*/: 'MSOCHECKS', + /*::[*/0x0206/*::]*/: 'NORMAL', + /*::[*/0x0207/*::]*/: 'LAYOUT', + /*::[*/0x0208/*::]*/: 'RM.PRINT.AREA', + /*::[*/0x0209/*::]*/: 'CLEAR.PRINT.AREA', + /*::[*/0x020A/*::]*/: 'ADD.PRINT.AREA', + /*::[*/0x020B/*::]*/: 'MOVE.BRK', + /*::[*/0x0221/*::]*/: 'HIDECURR.NOTE', + /*::[*/0x0222/*::]*/: 'HIDEALL.NOTES', + /*::[*/0x0223/*::]*/: 'DELETE.NOTE', + /*::[*/0x0224/*::]*/: 'TRAVERSE.NOTES', + /*::[*/0x0225/*::]*/: 'ACTIVATE.NOTES', + /*::[*/0x026C/*::]*/: 'PROTECT.REVISIONS', + /*::[*/0x026D/*::]*/: 'UNPROTECT.REVISIONS', + /*::[*/0x0287/*::]*/: 'OPTIONS.ME', + /*::[*/0x028D/*::]*/: 'WEB.PUBLISH', + /*::[*/0x029B/*::]*/: 'NEWWEBQUERY', + /*::[*/0x02A1/*::]*/: 'PIVOT.TABLE.CHART', + /*::[*/0x02F1/*::]*/: 'OPTIONS.SAVE', + /*::[*/0x02F3/*::]*/: 'OPTIONS.SPELL', + /*::[*/0x0328/*::]*/: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ var Ftab = { - 0x0000: 'COUNT', - 0x0001: 'IF', - 0x0002: 'ISNA', - 0x0003: 'ISERROR', - 0x0004: 'SUM', - 0x0005: 'AVERAGE', - 0x0006: 'MIN', - 0x0007: 'MAX', - 0x0008: 'ROW', - 0x0009: 'COLUMN', - 0x000A: 'NA', - 0x000B: 'NPV', - 0x000C: 'STDEV', - 0x000D: 'DOLLAR', - 0x000E: 'FIXED', - 0x000F: 'SIN', - 0x0010: 'COS', - 0x0011: 'TAN', - 0x0012: 'ATAN', - 0x0013: 'PI', - 0x0014: 'SQRT', - 0x0015: 'EXP', - 0x0016: 'LN', - 0x0017: 'LOG10', - 0x0018: 'ABS', - 0x0019: 'INT', - 0x001A: 'SIGN', - 0x001B: 'ROUND', - 0x001C: 'LOOKUP', - 0x001D: 'INDEX', - 0x001E: 'REPT', - 0x001F: 'MID', - 0x0020: 'LEN', - 0x0021: 'VALUE', - 0x0022: 'TRUE', - 0x0023: 'FALSE', - 0x0024: 'AND', - 0x0025: 'OR', - 0x0026: 'NOT', - 0x0027: 'MOD', - 0x0028: 'DCOUNT', - 0x0029: 'DSUM', - 0x002A: 'DAVERAGE', - 0x002B: 'DMIN', - 0x002C: 'DMAX', - 0x002D: 'DSTDEV', - 0x002E: 'VAR', - 0x002F: 'DVAR', - 0x0030: 'TEXT', - 0x0031: 'LINEST', - 0x0032: 'TREND', - 0x0033: 'LOGEST', - 0x0034: 'GROWTH', - 0x0035: 'GOTO', - 0x0036: 'HALT', - 0x0037: 'RETURN', - 0x0038: 'PV', - 0x0039: 'FV', - 0x003A: 'NPER', - 0x003B: 'PMT', - 0x003C: 'RATE', - 0x003D: 'MIRR', - 0x003E: 'IRR', - 0x003F: 'RAND', - 0x0040: 'MATCH', - 0x0041: 'DATE', - 0x0042: 'TIME', - 0x0043: 'DAY', - 0x0044: 'MONTH', - 0x0045: 'YEAR', - 0x0046: 'WEEKDAY', - 0x0047: 'HOUR', - 0x0048: 'MINUTE', - 0x0049: 'SECOND', - 0x004A: 'NOW', - 0x004B: 'AREAS', - 0x004C: 'ROWS', - 0x004D: 'COLUMNS', - 0x004E: 'OFFSET', - 0x004F: 'ABSREF', - 0x0050: 'RELREF', - 0x0051: 'ARGUMENT', - 0x0052: 'SEARCH', - 0x0053: 'TRANSPOSE', - 0x0054: 'ERROR', - 0x0055: 'STEP', - 0x0056: 'TYPE', - 0x0057: 'ECHO', - 0x0058: 'SET.NAME', - 0x0059: 'CALLER', - 0x005A: 'DEREF', - 0x005B: 'WINDOWS', - 0x005C: 'SERIES', - 0x005D: 'DOCUMENTS', - 0x005E: 'ACTIVE.CELL', - 0x005F: 'SELECTION', - 0x0060: 'RESULT', - 0x0061: 'ATAN2', - 0x0062: 'ASIN', - 0x0063: 'ACOS', - 0x0064: 'CHOOSE', - 0x0065: 'HLOOKUP', - 0x0066: 'VLOOKUP', - 0x0067: 'LINKS', - 0x0068: 'INPUT', - 0x0069: 'ISREF', - 0x006A: 'GET.FORMULA', - 0x006B: 'GET.NAME', - 0x006C: 'SET.VALUE', - 0x006D: 'LOG', - 0x006E: 'EXEC', - 0x006F: 'CHAR', - 0x0070: 'LOWER', - 0x0071: 'UPPER', - 0x0072: 'PROPER', - 0x0073: 'LEFT', - 0x0074: 'RIGHT', - 0x0075: 'EXACT', - 0x0076: 'TRIM', - 0x0077: 'REPLACE', - 0x0078: 'SUBSTITUTE', - 0x0079: 'CODE', - 0x007A: 'NAMES', - 0x007B: 'DIRECTORY', - 0x007C: 'FIND', - 0x007D: 'CELL', - 0x007E: 'ISERR', - 0x007F: 'ISTEXT', - 0x0080: 'ISNUMBER', - 0x0081: 'ISBLANK', - 0x0082: 'T', - 0x0083: 'N', - 0x0084: 'FOPEN', - 0x0085: 'FCLOSE', - 0x0086: 'FSIZE', - 0x0087: 'FREADLN', - 0x0088: 'FREAD', - 0x0089: 'FWRITELN', - 0x008A: 'FWRITE', - 0x008B: 'FPOS', - 0x008C: 'DATEVALUE', - 0x008D: 'TIMEVALUE', - 0x008E: 'SLN', - 0x008F: 'SYD', - 0x0090: 'DDB', - 0x0091: 'GET.DEF', - 0x0092: 'REFTEXT', - 0x0093: 'TEXTREF', - 0x0094: 'INDIRECT', - 0x0095: 'REGISTER', - 0x0096: 'CALL', - 0x0097: 'ADD.BAR', - 0x0098: 'ADD.MENU', - 0x0099: 'ADD.COMMAND', - 0x009A: 'ENABLE.COMMAND', - 0x009B: 'CHECK.COMMAND', - 0x009C: 'RENAME.COMMAND', - 0x009D: 'SHOW.BAR', - 0x009E: 'DELETE.MENU', - 0x009F: 'DELETE.COMMAND', - 0x00A0: 'GET.CHART.ITEM', - 0x00A1: 'DIALOG.BOX', - 0x00A2: 'CLEAN', - 0x00A3: 'MDETERM', - 0x00A4: 'MINVERSE', - 0x00A5: 'MMULT', - 0x00A6: 'FILES', - 0x00A7: 'IPMT', - 0x00A8: 'PPMT', - 0x00A9: 'COUNTA', - 0x00AA: 'CANCEL.KEY', - 0x00AB: 'FOR', - 0x00AC: 'WHILE', - 0x00AD: 'BREAK', - 0x00AE: 'NEXT', - 0x00AF: 'INITIATE', - 0x00B0: 'REQUEST', - 0x00B1: 'POKE', - 0x00B2: 'EXECUTE', - 0x00B3: 'TERMINATE', - 0x00B4: 'RESTART', - 0x00B5: 'HELP', - 0x00B6: 'GET.BAR', - 0x00B7: 'PRODUCT', - 0x00B8: 'FACT', - 0x00B9: 'GET.CELL', - 0x00BA: 'GET.WORKSPACE', - 0x00BB: 'GET.WINDOW', - 0x00BC: 'GET.DOCUMENT', - 0x00BD: 'DPRODUCT', - 0x00BE: 'ISNONTEXT', - 0x00BF: 'GET.NOTE', - 0x00C0: 'NOTE', - 0x00C1: 'STDEVP', - 0x00C2: 'VARP', - 0x00C3: 'DSTDEVP', - 0x00C4: 'DVARP', - 0x00C5: 'TRUNC', - 0x00C6: 'ISLOGICAL', - 0x00C7: 'DCOUNTA', - 0x00C8: 'DELETE.BAR', - 0x00C9: 'UNREGISTER', - 0x00CC: 'USDOLLAR', - 0x00CD: 'FINDB', - 0x00CE: 'SEARCHB', - 0x00CF: 'REPLACEB', - 0x00D0: 'LEFTB', - 0x00D1: 'RIGHTB', - 0x00D2: 'MIDB', - 0x00D3: 'LENB', - 0x00D4: 'ROUNDUP', - 0x00D5: 'ROUNDDOWN', - 0x00D6: 'ASC', - 0x00D7: 'DBCS', - 0x00D8: 'RANK', - 0x00DB: 'ADDRESS', - 0x00DC: 'DAYS360', - 0x00DD: 'TODAY', - 0x00DE: 'VDB', - 0x00DF: 'ELSE', - 0x00E0: 'ELSE.IF', - 0x00E1: 'END.IF', - 0x00E2: 'FOR.CELL', - 0x00E3: 'MEDIAN', - 0x00E4: 'SUMPRODUCT', - 0x00E5: 'SINH', - 0x00E6: 'COSH', - 0x00E7: 'TANH', - 0x00E8: 'ASINH', - 0x00E9: 'ACOSH', - 0x00EA: 'ATANH', - 0x00EB: 'DGET', - 0x00EC: 'CREATE.OBJECT', - 0x00ED: 'VOLATILE', - 0x00EE: 'LAST.ERROR', - 0x00EF: 'CUSTOM.UNDO', - 0x00F0: 'CUSTOM.REPEAT', - 0x00F1: 'FORMULA.CONVERT', - 0x00F2: 'GET.LINK.INFO', - 0x00F3: 'TEXT.BOX', - 0x00F4: 'INFO', - 0x00F5: 'GROUP', - 0x00F6: 'GET.OBJECT', - 0x00F7: 'DB', - 0x00F8: 'PAUSE', - 0x00FB: 'RESUME', - 0x00FC: 'FREQUENCY', - 0x00FD: 'ADD.TOOLBAR', - 0x00FE: 'DELETE.TOOLBAR', - 0x00FF: 'User', - 0x0100: 'RESET.TOOLBAR', - 0x0101: 'EVALUATE', - 0x0102: 'GET.TOOLBAR', - 0x0103: 'GET.TOOL', - 0x0104: 'SPELLING.CHECK', - 0x0105: 'ERROR.TYPE', - 0x0106: 'APP.TITLE', - 0x0107: 'WINDOW.TITLE', - 0x0108: 'SAVE.TOOLBAR', - 0x0109: 'ENABLE.TOOL', - 0x010A: 'PRESS.TOOL', - 0x010B: 'REGISTER.ID', - 0x010C: 'GET.WORKBOOK', - 0x010D: 'AVEDEV', - 0x010E: 'BETADIST', - 0x010F: 'GAMMALN', - 0x0110: 'BETAINV', - 0x0111: 'BINOMDIST', - 0x0112: 'CHIDIST', - 0x0113: 'CHIINV', - 0x0114: 'COMBIN', - 0x0115: 'CONFIDENCE', - 0x0116: 'CRITBINOM', - 0x0117: 'EVEN', - 0x0118: 'EXPONDIST', - 0x0119: 'FDIST', - 0x011A: 'FINV', - 0x011B: 'FISHER', - 0x011C: 'FISHERINV', - 0x011D: 'FLOOR', - 0x011E: 'GAMMADIST', - 0x011F: 'GAMMAINV', - 0x0120: 'CEILING', - 0x0121: 'HYPGEOMDIST', - 0x0122: 'LOGNORMDIST', - 0x0123: 'LOGINV', - 0x0124: 'NEGBINOMDIST', - 0x0125: 'NORMDIST', - 0x0126: 'NORMSDIST', - 0x0127: 'NORMINV', - 0x0128: 'NORMSINV', - 0x0129: 'STANDARDIZE', - 0x012A: 'ODD', - 0x012B: 'PERMUT', - 0x012C: 'POISSON', - 0x012D: 'TDIST', - 0x012E: 'WEIBULL', - 0x012F: 'SUMXMY2', - 0x0130: 'SUMX2MY2', - 0x0131: 'SUMX2PY2', - 0x0132: 'CHITEST', - 0x0133: 'CORREL', - 0x0134: 'COVAR', - 0x0135: 'FORECAST', - 0x0136: 'FTEST', - 0x0137: 'INTERCEPT', - 0x0138: 'PEARSON', - 0x0139: 'RSQ', - 0x013A: 'STEYX', - 0x013B: 'SLOPE', - 0x013C: 'TTEST', - 0x013D: 'PROB', - 0x013E: 'DEVSQ', - 0x013F: 'GEOMEAN', - 0x0140: 'HARMEAN', - 0x0141: 'SUMSQ', - 0x0142: 'KURT', - 0x0143: 'SKEW', - 0x0144: 'ZTEST', - 0x0145: 'LARGE', - 0x0146: 'SMALL', - 0x0147: 'QUARTILE', - 0x0148: 'PERCENTILE', - 0x0149: 'PERCENTRANK', - 0x014A: 'MODE', - 0x014B: 'TRIMMEAN', - 0x014C: 'TINV', - 0x014E: 'MOVIE.COMMAND', - 0x014F: 'GET.MOVIE', - 0x0150: 'CONCATENATE', - 0x0151: 'POWER', - 0x0152: 'PIVOT.ADD.DATA', - 0x0153: 'GET.PIVOT.TABLE', - 0x0154: 'GET.PIVOT.FIELD', - 0x0155: 'GET.PIVOT.ITEM', - 0x0156: 'RADIANS', - 0x0157: 'DEGREES', - 0x0158: 'SUBTOTAL', - 0x0159: 'SUMIF', - 0x015A: 'COUNTIF', - 0x015B: 'COUNTBLANK', - 0x015C: 'SCENARIO.GET', - 0x015D: 'OPTIONS.LISTS.GET', - 0x015E: 'ISPMT', - 0x015F: 'DATEDIF', - 0x0160: 'DATESTRING', - 0x0161: 'NUMBERSTRING', - 0x0162: 'ROMAN', - 0x0163: 'OPEN.DIALOG', - 0x0164: 'SAVE.DIALOG', - 0x0165: 'VIEW.GET', - 0x0166: 'GETPIVOTDATA', - 0x0167: 'HYPERLINK', - 0x0168: 'PHONETIC', - 0x0169: 'AVERAGEA', - 0x016A: 'MAXA', - 0x016B: 'MINA', - 0x016C: 'STDEVPA', - 0x016D: 'VARPA', - 0x016E: 'STDEVA', - 0x016F: 'VARA', - 0x0170: 'BAHTTEXT', - 0x0171: 'THAIDAYOFWEEK', - 0x0172: 'THAIDIGIT', - 0x0173: 'THAIMONTHOFYEAR', - 0x0174: 'THAINUMSOUND', - 0x0175: 'THAINUMSTRING', - 0x0176: 'THAISTRINGLENGTH', - 0x0177: 'ISTHAIDIGIT', - 0x0178: 'ROUNDBAHTDOWN', - 0x0179: 'ROUNDBAHTUP', - 0x017A: 'THAIYEAR', - 0x017B: 'RTD' + /*::[*/0x0000/*::]*/: 'COUNT', + /*::[*/0x0001/*::]*/: 'IF', + /*::[*/0x0002/*::]*/: 'ISNA', + /*::[*/0x0003/*::]*/: 'ISERROR', + /*::[*/0x0004/*::]*/: 'SUM', + /*::[*/0x0005/*::]*/: 'AVERAGE', + /*::[*/0x0006/*::]*/: 'MIN', + /*::[*/0x0007/*::]*/: 'MAX', + /*::[*/0x0008/*::]*/: 'ROW', + /*::[*/0x0009/*::]*/: 'COLUMN', + /*::[*/0x000A/*::]*/: 'NA', + /*::[*/0x000B/*::]*/: 'NPV', + /*::[*/0x000C/*::]*/: 'STDEV', + /*::[*/0x000D/*::]*/: 'DOLLAR', + /*::[*/0x000E/*::]*/: 'FIXED', + /*::[*/0x000F/*::]*/: 'SIN', + /*::[*/0x0010/*::]*/: 'COS', + /*::[*/0x0011/*::]*/: 'TAN', + /*::[*/0x0012/*::]*/: 'ATAN', + /*::[*/0x0013/*::]*/: 'PI', + /*::[*/0x0014/*::]*/: 'SQRT', + /*::[*/0x0015/*::]*/: 'EXP', + /*::[*/0x0016/*::]*/: 'LN', + /*::[*/0x0017/*::]*/: 'LOG10', + /*::[*/0x0018/*::]*/: 'ABS', + /*::[*/0x0019/*::]*/: 'INT', + /*::[*/0x001A/*::]*/: 'SIGN', + /*::[*/0x001B/*::]*/: 'ROUND', + /*::[*/0x001C/*::]*/: 'LOOKUP', + /*::[*/0x001D/*::]*/: 'INDEX', + /*::[*/0x001E/*::]*/: 'REPT', + /*::[*/0x001F/*::]*/: 'MID', + /*::[*/0x0020/*::]*/: 'LEN', + /*::[*/0x0021/*::]*/: 'VALUE', + /*::[*/0x0022/*::]*/: 'TRUE', + /*::[*/0x0023/*::]*/: 'FALSE', + /*::[*/0x0024/*::]*/: 'AND', + /*::[*/0x0025/*::]*/: 'OR', + /*::[*/0x0026/*::]*/: 'NOT', + /*::[*/0x0027/*::]*/: 'MOD', + /*::[*/0x0028/*::]*/: 'DCOUNT', + /*::[*/0x0029/*::]*/: 'DSUM', + /*::[*/0x002A/*::]*/: 'DAVERAGE', + /*::[*/0x002B/*::]*/: 'DMIN', + /*::[*/0x002C/*::]*/: 'DMAX', + /*::[*/0x002D/*::]*/: 'DSTDEV', + /*::[*/0x002E/*::]*/: 'VAR', + /*::[*/0x002F/*::]*/: 'DVAR', + /*::[*/0x0030/*::]*/: 'TEXT', + /*::[*/0x0031/*::]*/: 'LINEST', + /*::[*/0x0032/*::]*/: 'TREND', + /*::[*/0x0033/*::]*/: 'LOGEST', + /*::[*/0x0034/*::]*/: 'GROWTH', + /*::[*/0x0035/*::]*/: 'GOTO', + /*::[*/0x0036/*::]*/: 'HALT', + /*::[*/0x0037/*::]*/: 'RETURN', + /*::[*/0x0038/*::]*/: 'PV', + /*::[*/0x0039/*::]*/: 'FV', + /*::[*/0x003A/*::]*/: 'NPER', + /*::[*/0x003B/*::]*/: 'PMT', + /*::[*/0x003C/*::]*/: 'RATE', + /*::[*/0x003D/*::]*/: 'MIRR', + /*::[*/0x003E/*::]*/: 'IRR', + /*::[*/0x003F/*::]*/: 'RAND', + /*::[*/0x0040/*::]*/: 'MATCH', + /*::[*/0x0041/*::]*/: 'DATE', + /*::[*/0x0042/*::]*/: 'TIME', + /*::[*/0x0043/*::]*/: 'DAY', + /*::[*/0x0044/*::]*/: 'MONTH', + /*::[*/0x0045/*::]*/: 'YEAR', + /*::[*/0x0046/*::]*/: 'WEEKDAY', + /*::[*/0x0047/*::]*/: 'HOUR', + /*::[*/0x0048/*::]*/: 'MINUTE', + /*::[*/0x0049/*::]*/: 'SECOND', + /*::[*/0x004A/*::]*/: 'NOW', + /*::[*/0x004B/*::]*/: 'AREAS', + /*::[*/0x004C/*::]*/: 'ROWS', + /*::[*/0x004D/*::]*/: 'COLUMNS', + /*::[*/0x004E/*::]*/: 'OFFSET', + /*::[*/0x004F/*::]*/: 'ABSREF', + /*::[*/0x0050/*::]*/: 'RELREF', + /*::[*/0x0051/*::]*/: 'ARGUMENT', + /*::[*/0x0052/*::]*/: 'SEARCH', + /*::[*/0x0053/*::]*/: 'TRANSPOSE', + /*::[*/0x0054/*::]*/: 'ERROR', + /*::[*/0x0055/*::]*/: 'STEP', + /*::[*/0x0056/*::]*/: 'TYPE', + /*::[*/0x0057/*::]*/: 'ECHO', + /*::[*/0x0058/*::]*/: 'SET.NAME', + /*::[*/0x0059/*::]*/: 'CALLER', + /*::[*/0x005A/*::]*/: 'DEREF', + /*::[*/0x005B/*::]*/: 'WINDOWS', + /*::[*/0x005C/*::]*/: 'SERIES', + /*::[*/0x005D/*::]*/: 'DOCUMENTS', + /*::[*/0x005E/*::]*/: 'ACTIVE.CELL', + /*::[*/0x005F/*::]*/: 'SELECTION', + /*::[*/0x0060/*::]*/: 'RESULT', + /*::[*/0x0061/*::]*/: 'ATAN2', + /*::[*/0x0062/*::]*/: 'ASIN', + /*::[*/0x0063/*::]*/: 'ACOS', + /*::[*/0x0064/*::]*/: 'CHOOSE', + /*::[*/0x0065/*::]*/: 'HLOOKUP', + /*::[*/0x0066/*::]*/: 'VLOOKUP', + /*::[*/0x0067/*::]*/: 'LINKS', + /*::[*/0x0068/*::]*/: 'INPUT', + /*::[*/0x0069/*::]*/: 'ISREF', + /*::[*/0x006A/*::]*/: 'GET.FORMULA', + /*::[*/0x006B/*::]*/: 'GET.NAME', + /*::[*/0x006C/*::]*/: 'SET.VALUE', + /*::[*/0x006D/*::]*/: 'LOG', + /*::[*/0x006E/*::]*/: 'EXEC', + /*::[*/0x006F/*::]*/: 'CHAR', + /*::[*/0x0070/*::]*/: 'LOWER', + /*::[*/0x0071/*::]*/: 'UPPER', + /*::[*/0x0072/*::]*/: 'PROPER', + /*::[*/0x0073/*::]*/: 'LEFT', + /*::[*/0x0074/*::]*/: 'RIGHT', + /*::[*/0x0075/*::]*/: 'EXACT', + /*::[*/0x0076/*::]*/: 'TRIM', + /*::[*/0x0077/*::]*/: 'REPLACE', + /*::[*/0x0078/*::]*/: 'SUBSTITUTE', + /*::[*/0x0079/*::]*/: 'CODE', + /*::[*/0x007A/*::]*/: 'NAMES', + /*::[*/0x007B/*::]*/: 'DIRECTORY', + /*::[*/0x007C/*::]*/: 'FIND', + /*::[*/0x007D/*::]*/: 'CELL', + /*::[*/0x007E/*::]*/: 'ISERR', + /*::[*/0x007F/*::]*/: 'ISTEXT', + /*::[*/0x0080/*::]*/: 'ISNUMBER', + /*::[*/0x0081/*::]*/: 'ISBLANK', + /*::[*/0x0082/*::]*/: 'T', + /*::[*/0x0083/*::]*/: 'N', + /*::[*/0x0084/*::]*/: 'FOPEN', + /*::[*/0x0085/*::]*/: 'FCLOSE', + /*::[*/0x0086/*::]*/: 'FSIZE', + /*::[*/0x0087/*::]*/: 'FREADLN', + /*::[*/0x0088/*::]*/: 'FREAD', + /*::[*/0x0089/*::]*/: 'FWRITELN', + /*::[*/0x008A/*::]*/: 'FWRITE', + /*::[*/0x008B/*::]*/: 'FPOS', + /*::[*/0x008C/*::]*/: 'DATEVALUE', + /*::[*/0x008D/*::]*/: 'TIMEVALUE', + /*::[*/0x008E/*::]*/: 'SLN', + /*::[*/0x008F/*::]*/: 'SYD', + /*::[*/0x0090/*::]*/: 'DDB', + /*::[*/0x0091/*::]*/: 'GET.DEF', + /*::[*/0x0092/*::]*/: 'REFTEXT', + /*::[*/0x0093/*::]*/: 'TEXTREF', + /*::[*/0x0094/*::]*/: 'INDIRECT', + /*::[*/0x0095/*::]*/: 'REGISTER', + /*::[*/0x0096/*::]*/: 'CALL', + /*::[*/0x0097/*::]*/: 'ADD.BAR', + /*::[*/0x0098/*::]*/: 'ADD.MENU', + /*::[*/0x0099/*::]*/: 'ADD.COMMAND', + /*::[*/0x009A/*::]*/: 'ENABLE.COMMAND', + /*::[*/0x009B/*::]*/: 'CHECK.COMMAND', + /*::[*/0x009C/*::]*/: 'RENAME.COMMAND', + /*::[*/0x009D/*::]*/: 'SHOW.BAR', + /*::[*/0x009E/*::]*/: 'DELETE.MENU', + /*::[*/0x009F/*::]*/: 'DELETE.COMMAND', + /*::[*/0x00A0/*::]*/: 'GET.CHART.ITEM', + /*::[*/0x00A1/*::]*/: 'DIALOG.BOX', + /*::[*/0x00A2/*::]*/: 'CLEAN', + /*::[*/0x00A3/*::]*/: 'MDETERM', + /*::[*/0x00A4/*::]*/: 'MINVERSE', + /*::[*/0x00A5/*::]*/: 'MMULT', + /*::[*/0x00A6/*::]*/: 'FILES', + /*::[*/0x00A7/*::]*/: 'IPMT', + /*::[*/0x00A8/*::]*/: 'PPMT', + /*::[*/0x00A9/*::]*/: 'COUNTA', + /*::[*/0x00AA/*::]*/: 'CANCEL.KEY', + /*::[*/0x00AB/*::]*/: 'FOR', + /*::[*/0x00AC/*::]*/: 'WHILE', + /*::[*/0x00AD/*::]*/: 'BREAK', + /*::[*/0x00AE/*::]*/: 'NEXT', + /*::[*/0x00AF/*::]*/: 'INITIATE', + /*::[*/0x00B0/*::]*/: 'REQUEST', + /*::[*/0x00B1/*::]*/: 'POKE', + /*::[*/0x00B2/*::]*/: 'EXECUTE', + /*::[*/0x00B3/*::]*/: 'TERMINATE', + /*::[*/0x00B4/*::]*/: 'RESTART', + /*::[*/0x00B5/*::]*/: 'HELP', + /*::[*/0x00B6/*::]*/: 'GET.BAR', + /*::[*/0x00B7/*::]*/: 'PRODUCT', + /*::[*/0x00B8/*::]*/: 'FACT', + /*::[*/0x00B9/*::]*/: 'GET.CELL', + /*::[*/0x00BA/*::]*/: 'GET.WORKSPACE', + /*::[*/0x00BB/*::]*/: 'GET.WINDOW', + /*::[*/0x00BC/*::]*/: 'GET.DOCUMENT', + /*::[*/0x00BD/*::]*/: 'DPRODUCT', + /*::[*/0x00BE/*::]*/: 'ISNONTEXT', + /*::[*/0x00BF/*::]*/: 'GET.NOTE', + /*::[*/0x00C0/*::]*/: 'NOTE', + /*::[*/0x00C1/*::]*/: 'STDEVP', + /*::[*/0x00C2/*::]*/: 'VARP', + /*::[*/0x00C3/*::]*/: 'DSTDEVP', + /*::[*/0x00C4/*::]*/: 'DVARP', + /*::[*/0x00C5/*::]*/: 'TRUNC', + /*::[*/0x00C6/*::]*/: 'ISLOGICAL', + /*::[*/0x00C7/*::]*/: 'DCOUNTA', + /*::[*/0x00C8/*::]*/: 'DELETE.BAR', + /*::[*/0x00C9/*::]*/: 'UNREGISTER', + /*::[*/0x00CC/*::]*/: 'USDOLLAR', + /*::[*/0x00CD/*::]*/: 'FINDB', + /*::[*/0x00CE/*::]*/: 'SEARCHB', + /*::[*/0x00CF/*::]*/: 'REPLACEB', + /*::[*/0x00D0/*::]*/: 'LEFTB', + /*::[*/0x00D1/*::]*/: 'RIGHTB', + /*::[*/0x00D2/*::]*/: 'MIDB', + /*::[*/0x00D3/*::]*/: 'LENB', + /*::[*/0x00D4/*::]*/: 'ROUNDUP', + /*::[*/0x00D5/*::]*/: 'ROUNDDOWN', + /*::[*/0x00D6/*::]*/: 'ASC', + /*::[*/0x00D7/*::]*/: 'DBCS', + /*::[*/0x00D8/*::]*/: 'RANK', + /*::[*/0x00DB/*::]*/: 'ADDRESS', + /*::[*/0x00DC/*::]*/: 'DAYS360', + /*::[*/0x00DD/*::]*/: 'TODAY', + /*::[*/0x00DE/*::]*/: 'VDB', + /*::[*/0x00DF/*::]*/: 'ELSE', + /*::[*/0x00E0/*::]*/: 'ELSE.IF', + /*::[*/0x00E1/*::]*/: 'END.IF', + /*::[*/0x00E2/*::]*/: 'FOR.CELL', + /*::[*/0x00E3/*::]*/: 'MEDIAN', + /*::[*/0x00E4/*::]*/: 'SUMPRODUCT', + /*::[*/0x00E5/*::]*/: 'SINH', + /*::[*/0x00E6/*::]*/: 'COSH', + /*::[*/0x00E7/*::]*/: 'TANH', + /*::[*/0x00E8/*::]*/: 'ASINH', + /*::[*/0x00E9/*::]*/: 'ACOSH', + /*::[*/0x00EA/*::]*/: 'ATANH', + /*::[*/0x00EB/*::]*/: 'DGET', + /*::[*/0x00EC/*::]*/: 'CREATE.OBJECT', + /*::[*/0x00ED/*::]*/: 'VOLATILE', + /*::[*/0x00EE/*::]*/: 'LAST.ERROR', + /*::[*/0x00EF/*::]*/: 'CUSTOM.UNDO', + /*::[*/0x00F0/*::]*/: 'CUSTOM.REPEAT', + /*::[*/0x00F1/*::]*/: 'FORMULA.CONVERT', + /*::[*/0x00F2/*::]*/: 'GET.LINK.INFO', + /*::[*/0x00F3/*::]*/: 'TEXT.BOX', + /*::[*/0x00F4/*::]*/: 'INFO', + /*::[*/0x00F5/*::]*/: 'GROUP', + /*::[*/0x00F6/*::]*/: 'GET.OBJECT', + /*::[*/0x00F7/*::]*/: 'DB', + /*::[*/0x00F8/*::]*/: 'PAUSE', + /*::[*/0x00FB/*::]*/: 'RESUME', + /*::[*/0x00FC/*::]*/: 'FREQUENCY', + /*::[*/0x00FD/*::]*/: 'ADD.TOOLBAR', + /*::[*/0x00FE/*::]*/: 'DELETE.TOOLBAR', + /*::[*/0x00FF/*::]*/: 'User', + /*::[*/0x0100/*::]*/: 'RESET.TOOLBAR', + /*::[*/0x0101/*::]*/: 'EVALUATE', + /*::[*/0x0102/*::]*/: 'GET.TOOLBAR', + /*::[*/0x0103/*::]*/: 'GET.TOOL', + /*::[*/0x0104/*::]*/: 'SPELLING.CHECK', + /*::[*/0x0105/*::]*/: 'ERROR.TYPE', + /*::[*/0x0106/*::]*/: 'APP.TITLE', + /*::[*/0x0107/*::]*/: 'WINDOW.TITLE', + /*::[*/0x0108/*::]*/: 'SAVE.TOOLBAR', + /*::[*/0x0109/*::]*/: 'ENABLE.TOOL', + /*::[*/0x010A/*::]*/: 'PRESS.TOOL', + /*::[*/0x010B/*::]*/: 'REGISTER.ID', + /*::[*/0x010C/*::]*/: 'GET.WORKBOOK', + /*::[*/0x010D/*::]*/: 'AVEDEV', + /*::[*/0x010E/*::]*/: 'BETADIST', + /*::[*/0x010F/*::]*/: 'GAMMALN', + /*::[*/0x0110/*::]*/: 'BETAINV', + /*::[*/0x0111/*::]*/: 'BINOMDIST', + /*::[*/0x0112/*::]*/: 'CHIDIST', + /*::[*/0x0113/*::]*/: 'CHIINV', + /*::[*/0x0114/*::]*/: 'COMBIN', + /*::[*/0x0115/*::]*/: 'CONFIDENCE', + /*::[*/0x0116/*::]*/: 'CRITBINOM', + /*::[*/0x0117/*::]*/: 'EVEN', + /*::[*/0x0118/*::]*/: 'EXPONDIST', + /*::[*/0x0119/*::]*/: 'FDIST', + /*::[*/0x011A/*::]*/: 'FINV', + /*::[*/0x011B/*::]*/: 'FISHER', + /*::[*/0x011C/*::]*/: 'FISHERINV', + /*::[*/0x011D/*::]*/: 'FLOOR', + /*::[*/0x011E/*::]*/: 'GAMMADIST', + /*::[*/0x011F/*::]*/: 'GAMMAINV', + /*::[*/0x0120/*::]*/: 'CEILING', + /*::[*/0x0121/*::]*/: 'HYPGEOMDIST', + /*::[*/0x0122/*::]*/: 'LOGNORMDIST', + /*::[*/0x0123/*::]*/: 'LOGINV', + /*::[*/0x0124/*::]*/: 'NEGBINOMDIST', + /*::[*/0x0125/*::]*/: 'NORMDIST', + /*::[*/0x0126/*::]*/: 'NORMSDIST', + /*::[*/0x0127/*::]*/: 'NORMINV', + /*::[*/0x0128/*::]*/: 'NORMSINV', + /*::[*/0x0129/*::]*/: 'STANDARDIZE', + /*::[*/0x012A/*::]*/: 'ODD', + /*::[*/0x012B/*::]*/: 'PERMUT', + /*::[*/0x012C/*::]*/: 'POISSON', + /*::[*/0x012D/*::]*/: 'TDIST', + /*::[*/0x012E/*::]*/: 'WEIBULL', + /*::[*/0x012F/*::]*/: 'SUMXMY2', + /*::[*/0x0130/*::]*/: 'SUMX2MY2', + /*::[*/0x0131/*::]*/: 'SUMX2PY2', + /*::[*/0x0132/*::]*/: 'CHITEST', + /*::[*/0x0133/*::]*/: 'CORREL', + /*::[*/0x0134/*::]*/: 'COVAR', + /*::[*/0x0135/*::]*/: 'FORECAST', + /*::[*/0x0136/*::]*/: 'FTEST', + /*::[*/0x0137/*::]*/: 'INTERCEPT', + /*::[*/0x0138/*::]*/: 'PEARSON', + /*::[*/0x0139/*::]*/: 'RSQ', + /*::[*/0x013A/*::]*/: 'STEYX', + /*::[*/0x013B/*::]*/: 'SLOPE', + /*::[*/0x013C/*::]*/: 'TTEST', + /*::[*/0x013D/*::]*/: 'PROB', + /*::[*/0x013E/*::]*/: 'DEVSQ', + /*::[*/0x013F/*::]*/: 'GEOMEAN', + /*::[*/0x0140/*::]*/: 'HARMEAN', + /*::[*/0x0141/*::]*/: 'SUMSQ', + /*::[*/0x0142/*::]*/: 'KURT', + /*::[*/0x0143/*::]*/: 'SKEW', + /*::[*/0x0144/*::]*/: 'ZTEST', + /*::[*/0x0145/*::]*/: 'LARGE', + /*::[*/0x0146/*::]*/: 'SMALL', + /*::[*/0x0147/*::]*/: 'QUARTILE', + /*::[*/0x0148/*::]*/: 'PERCENTILE', + /*::[*/0x0149/*::]*/: 'PERCENTRANK', + /*::[*/0x014A/*::]*/: 'MODE', + /*::[*/0x014B/*::]*/: 'TRIMMEAN', + /*::[*/0x014C/*::]*/: 'TINV', + /*::[*/0x014E/*::]*/: 'MOVIE.COMMAND', + /*::[*/0x014F/*::]*/: 'GET.MOVIE', + /*::[*/0x0150/*::]*/: 'CONCATENATE', + /*::[*/0x0151/*::]*/: 'POWER', + /*::[*/0x0152/*::]*/: 'PIVOT.ADD.DATA', + /*::[*/0x0153/*::]*/: 'GET.PIVOT.TABLE', + /*::[*/0x0154/*::]*/: 'GET.PIVOT.FIELD', + /*::[*/0x0155/*::]*/: 'GET.PIVOT.ITEM', + /*::[*/0x0156/*::]*/: 'RADIANS', + /*::[*/0x0157/*::]*/: 'DEGREES', + /*::[*/0x0158/*::]*/: 'SUBTOTAL', + /*::[*/0x0159/*::]*/: 'SUMIF', + /*::[*/0x015A/*::]*/: 'COUNTIF', + /*::[*/0x015B/*::]*/: 'COUNTBLANK', + /*::[*/0x015C/*::]*/: 'SCENARIO.GET', + /*::[*/0x015D/*::]*/: 'OPTIONS.LISTS.GET', + /*::[*/0x015E/*::]*/: 'ISPMT', + /*::[*/0x015F/*::]*/: 'DATEDIF', + /*::[*/0x0160/*::]*/: 'DATESTRING', + /*::[*/0x0161/*::]*/: 'NUMBERSTRING', + /*::[*/0x0162/*::]*/: 'ROMAN', + /*::[*/0x0163/*::]*/: 'OPEN.DIALOG', + /*::[*/0x0164/*::]*/: 'SAVE.DIALOG', + /*::[*/0x0165/*::]*/: 'VIEW.GET', + /*::[*/0x0166/*::]*/: 'GETPIVOTDATA', + /*::[*/0x0167/*::]*/: 'HYPERLINK', + /*::[*/0x0168/*::]*/: 'PHONETIC', + /*::[*/0x0169/*::]*/: 'AVERAGEA', + /*::[*/0x016A/*::]*/: 'MAXA', + /*::[*/0x016B/*::]*/: 'MINA', + /*::[*/0x016C/*::]*/: 'STDEVPA', + /*::[*/0x016D/*::]*/: 'VARPA', + /*::[*/0x016E/*::]*/: 'STDEVA', + /*::[*/0x016F/*::]*/: 'VARA', + /*::[*/0x0170/*::]*/: 'BAHTTEXT', + /*::[*/0x0171/*::]*/: 'THAIDAYOFWEEK', + /*::[*/0x0172/*::]*/: 'THAIDIGIT', + /*::[*/0x0173/*::]*/: 'THAIMONTHOFYEAR', + /*::[*/0x0174/*::]*/: 'THAINUMSOUND', + /*::[*/0x0175/*::]*/: 'THAINUMSTRING', + /*::[*/0x0176/*::]*/: 'THAISTRINGLENGTH', + /*::[*/0x0177/*::]*/: 'ISTHAIDIGIT', + /*::[*/0x0178/*::]*/: 'ROUNDBAHTDOWN', + /*::[*/0x0179/*::]*/: 'ROUNDBAHTUP', + /*::[*/0x017A/*::]*/: 'THAIYEAR', + /*::[*/0x017B/*::]*/: 'RTD' }; var FtabArgc = { - 0x0002: 1, /* ISNA */ - 0x0003: 1, /* ISERROR */ - 0x000F: 1, /* SIN */ - 0x0010: 1, /* COS */ - 0x0011: 1, /* TAN */ - 0x0012: 1, /* ATAN */ - 0x0014: 1, /* SQRT */ - 0x0015: 1, /* EXP */ - 0x0016: 1, /* LN */ - 0x0017: 1, /* LOG10 */ - 0x0018: 1, /* ABS */ - 0x0019: 1, /* INT */ - 0x001A: 1, /* SIGN */ - 0x001B: 2, /* ROUND */ - 0x001E: 2, /* REPT */ - 0x001F: 3, /* MID */ - 0x0020: 1, /* LEN */ - 0x0021: 1, /* VALUE */ - 0x0026: 1, /* NOT */ - 0x0027: 2, /* MOD */ - 0x0028: 3, /* DCOUNT */ - 0x0029: 3, /* DSUM */ - 0x002A: 3, /* DAVERAGE */ - 0x002B: 3, /* DMIN */ - 0x002C: 3, /* DMAX */ - 0x002D: 3, /* DSTDEV */ - 0x002F: 3, /* DVAR */ - 0x0030: 2, /* TEXT */ - 0x0035: 1, /* GOTO */ - 0x003D: 3, /* MIRR */ - 0x0041: 3, /* DATE */ - 0x0042: 3, /* TIME */ - 0x0043: 1, /* DAY */ - 0x0044: 1, /* MONTH */ - 0x0045: 1, /* YEAR */ - 0x0047: 1, /* HOUR */ - 0x0048: 1, /* MINUTE */ - 0x0049: 1, /* SECOND */ - 0x004B: 1, /* AREAS */ - 0x004C: 1, /* ROWS */ - 0x004D: 1, /* COLUMNS */ - 0x004F: 2, /* ABSREF */ - 0x0050: 2, /* RELREF */ - 0x0053: 1, /* TRANSPOSE */ - 0x0056: 1, /* TYPE */ - 0x005A: 1, /* DEREF */ - 0x0061: 2, /* ATAN2 */ - 0x0062: 1, /* ASIN */ - 0x0063: 1, /* ACOS */ - 0x0069: 1, /* ISREF */ - 0x006F: 1, /* CHAR */ - 0x0070: 1, /* LOWER */ - 0x0071: 1, /* UPPER */ - 0x0072: 1, /* PROPER */ - 0x0075: 2, /* EXACT */ - 0x0076: 1, /* TRIM */ - 0x0077: 4, /* REPLACE */ - 0x0079: 1, /* CODE */ - 0x007E: 1, /* ISERR */ - 0x007F: 1, /* ISTEXT */ - 0x0080: 1, /* ISNUMBER */ - 0x0081: 1, /* ISBLANK */ - 0x0082: 1, /* T */ - 0x0083: 1, /* N */ - 0x0085: 1, /* FCLOSE */ - 0x0086: 1, /* FSIZE */ - 0x0087: 1, /* FREADLN */ - 0x0088: 2, /* FREAD */ - 0x0089: 2, /* FWRITELN */ - 0x008A: 2, /* FWRITE */ - 0x008C: 1, /* DATEVALUE */ - 0x008D: 1, /* TIMEVALUE */ - 0x008E: 3, /* SLN */ - 0x008F: 4, /* SYD */ - 0x00A2: 1, /* CLEAN */ - 0x00A3: 1, /* MDETERM */ - 0x00A4: 1, /* MINVERSE */ - 0x00A5: 2, /* MMULT */ - 0x00AC: 1, /* WHILE */ - 0x00AF: 2, /* INITIATE */ - 0x00B0: 2, /* REQUEST */ - 0x00B1: 3, /* POKE */ - 0x00B2: 2, /* EXECUTE */ - 0x00B3: 1, /* TERMINATE */ - 0x00B8: 1, /* FACT */ - 0x00BD: 3, /* DPRODUCT */ - 0x00BE: 1, /* ISNONTEXT */ - 0x00C3: 3, /* DSTDEVP */ - 0x00C4: 3, /* DVARP */ - 0x00C6: 1, /* ISLOGICAL */ - 0x00C7: 3, /* DCOUNTA */ - 0x00C9: 1, /* UNREGISTER */ - 0x00CF: 4, /* REPLACEB */ - 0x00D2: 3, /* MIDB */ - 0x00D3: 1, /* LENB */ - 0x00D4: 2, /* ROUNDUP */ - 0x00D5: 2, /* ROUNDDOWN */ - 0x00D6: 1, /* ASC */ - 0x00D7: 1, /* DBCS */ - 0x00E5: 1, /* SINH */ - 0x00E6: 1, /* COSH */ - 0x00E7: 1, /* TANH */ - 0x00E8: 1, /* ASINH */ - 0x00E9: 1, /* ACOSH */ - 0x00EA: 1, /* ATANH */ - 0x00EB: 3, /* DGET */ - 0x00F4: 1, /* INFO */ - 0x00FC: 2, /* FREQUENCY */ - 0x0101: 1, /* EVALUATE */ - 0x0105: 1, /* ERROR.TYPE */ - 0x010F: 1, /* GAMMALN */ - 0x0111: 4, /* BINOMDIST */ - 0x0112: 2, /* CHIDIST */ - 0x0113: 2, /* CHIINV */ - 0x0114: 2, /* COMBIN */ - 0x0115: 3, /* CONFIDENCE */ - 0x0116: 3, /* CRITBINOM */ - 0x0117: 1, /* EVEN */ - 0x0118: 3, /* EXPONDIST */ - 0x0119: 3, /* FDIST */ - 0x011A: 3, /* FINV */ - 0x011B: 1, /* FISHER */ - 0x011C: 1, /* FISHERINV */ - 0x011D: 2, /* FLOOR */ - 0x011E: 4, /* GAMMADIST */ - 0x011F: 3, /* GAMMAINV */ - 0x0120: 2, /* CEILING */ - 0x0121: 4, /* HYPGEOMDIST */ - 0x0122: 3, /* LOGNORMDIST */ - 0x0123: 3, /* LOGINV */ - 0x0124: 3, /* NEGBINOMDIST */ - 0x0125: 4, /* NORMDIST */ - 0x0126: 1, /* NORMSDIST */ - 0x0127: 3, /* NORMINV */ - 0x0128: 1, /* NORMSINV */ - 0x0129: 3, /* STANDARDIZE */ - 0x012A: 1, /* ODD */ - 0x012B: 2, /* PERMUT */ - 0x012C: 3, /* POISSON */ - 0x012D: 3, /* TDIST */ - 0x012E: 4, /* WEIBULL */ - 0x012F: 2, /* SUMXMY2 */ - 0x0130: 2, /* SUMX2MY2 */ - 0x0131: 2, /* SUMX2PY2 */ - 0x0132: 2, /* CHITEST */ - 0x0133: 2, /* CORREL */ - 0x0134: 2, /* COVAR */ - 0x0135: 3, /* FORECAST */ - 0x0136: 2, /* FTEST */ - 0x0137: 2, /* INTERCEPT */ - 0x0138: 2, /* PEARSON */ - 0x0139: 2, /* RSQ */ - 0x013A: 2, /* STEYX */ - 0x013B: 2, /* SLOPE */ - 0x013C: 4, /* TTEST */ - 0x0145: 2, /* LARGE */ - 0x0146: 2, /* SMALL */ - 0x0147: 2, /* QUARTILE */ - 0x0148: 2, /* PERCENTILE */ - 0x014B: 2, /* TRIMMEAN */ - 0x014C: 2, /* TINV */ - 0x0151: 2, /* POWER */ - 0x0156: 1, /* RADIANS */ - 0x0157: 1, /* DEGREES */ - 0x015A: 2, /* COUNTIF */ - 0x015B: 1, /* COUNTBLANK */ - 0x015E: 4, /* ISPMT */ - 0x015F: 3, /* DATEDIF */ - 0x0160: 1, /* DATESTRING */ - 0x0161: 2, /* NUMBERSTRING */ - 0x0168: 1, /* PHONETIC */ - 0x0170: 1, /* BAHTTEXT */ - 0x0171: 1, /* THAIDAYOFWEEK */ - 0x0172: 1, /* THAIDIGIT */ - 0x0173: 1, /* THAIMONTHOFYEAR */ - 0x0174: 1, /* THAINUMSOUND */ - 0x0175: 1, /* THAINUMSTRING */ - 0x0176: 1, /* THAISTRINGLENGTH */ - 0x0177: 1, /* ISTHAIDIGIT */ - 0x0178: 1, /* ROUNDBAHTDOWN */ - 0x0179: 1, /* ROUNDBAHTUP */ - 0x017A: 1, /* THAIYEAR */ - 0xFFFF: 0 + /*::[*/0x0002/*::]*/: 1, /* ISNA */ + /*::[*/0x0003/*::]*/: 1, /* ISERROR */ + /*::[*/0x000F/*::]*/: 1, /* SIN */ + /*::[*/0x0010/*::]*/: 1, /* COS */ + /*::[*/0x0011/*::]*/: 1, /* TAN */ + /*::[*/0x0012/*::]*/: 1, /* ATAN */ + /*::[*/0x0014/*::]*/: 1, /* SQRT */ + /*::[*/0x0015/*::]*/: 1, /* EXP */ + /*::[*/0x0016/*::]*/: 1, /* LN */ + /*::[*/0x0017/*::]*/: 1, /* LOG10 */ + /*::[*/0x0018/*::]*/: 1, /* ABS */ + /*::[*/0x0019/*::]*/: 1, /* INT */ + /*::[*/0x001A/*::]*/: 1, /* SIGN */ + /*::[*/0x001B/*::]*/: 2, /* ROUND */ + /*::[*/0x001E/*::]*/: 2, /* REPT */ + /*::[*/0x001F/*::]*/: 3, /* MID */ + /*::[*/0x0020/*::]*/: 1, /* LEN */ + /*::[*/0x0021/*::]*/: 1, /* VALUE */ + /*::[*/0x0026/*::]*/: 1, /* NOT */ + /*::[*/0x0027/*::]*/: 2, /* MOD */ + /*::[*/0x0028/*::]*/: 3, /* DCOUNT */ + /*::[*/0x0029/*::]*/: 3, /* DSUM */ + /*::[*/0x002A/*::]*/: 3, /* DAVERAGE */ + /*::[*/0x002B/*::]*/: 3, /* DMIN */ + /*::[*/0x002C/*::]*/: 3, /* DMAX */ + /*::[*/0x002D/*::]*/: 3, /* DSTDEV */ + /*::[*/0x002F/*::]*/: 3, /* DVAR */ + /*::[*/0x0030/*::]*/: 2, /* TEXT */ + /*::[*/0x0035/*::]*/: 1, /* GOTO */ + /*::[*/0x003D/*::]*/: 3, /* MIRR */ + /*::[*/0x0041/*::]*/: 3, /* DATE */ + /*::[*/0x0042/*::]*/: 3, /* TIME */ + /*::[*/0x0043/*::]*/: 1, /* DAY */ + /*::[*/0x0044/*::]*/: 1, /* MONTH */ + /*::[*/0x0045/*::]*/: 1, /* YEAR */ + /*::[*/0x0047/*::]*/: 1, /* HOUR */ + /*::[*/0x0048/*::]*/: 1, /* MINUTE */ + /*::[*/0x0049/*::]*/: 1, /* SECOND */ + /*::[*/0x004B/*::]*/: 1, /* AREAS */ + /*::[*/0x004C/*::]*/: 1, /* ROWS */ + /*::[*/0x004D/*::]*/: 1, /* COLUMNS */ + /*::[*/0x004F/*::]*/: 2, /* ABSREF */ + /*::[*/0x0050/*::]*/: 2, /* RELREF */ + /*::[*/0x0053/*::]*/: 1, /* TRANSPOSE */ + /*::[*/0x0056/*::]*/: 1, /* TYPE */ + /*::[*/0x005A/*::]*/: 1, /* DEREF */ + /*::[*/0x0061/*::]*/: 2, /* ATAN2 */ + /*::[*/0x0062/*::]*/: 1, /* ASIN */ + /*::[*/0x0063/*::]*/: 1, /* ACOS */ + /*::[*/0x0069/*::]*/: 1, /* ISREF */ + /*::[*/0x006F/*::]*/: 1, /* CHAR */ + /*::[*/0x0070/*::]*/: 1, /* LOWER */ + /*::[*/0x0071/*::]*/: 1, /* UPPER */ + /*::[*/0x0072/*::]*/: 1, /* PROPER */ + /*::[*/0x0075/*::]*/: 2, /* EXACT */ + /*::[*/0x0076/*::]*/: 1, /* TRIM */ + /*::[*/0x0077/*::]*/: 4, /* REPLACE */ + /*::[*/0x0079/*::]*/: 1, /* CODE */ + /*::[*/0x007E/*::]*/: 1, /* ISERR */ + /*::[*/0x007F/*::]*/: 1, /* ISTEXT */ + /*::[*/0x0080/*::]*/: 1, /* ISNUMBER */ + /*::[*/0x0081/*::]*/: 1, /* ISBLANK */ + /*::[*/0x0082/*::]*/: 1, /* T */ + /*::[*/0x0083/*::]*/: 1, /* N */ + /*::[*/0x0085/*::]*/: 1, /* FCLOSE */ + /*::[*/0x0086/*::]*/: 1, /* FSIZE */ + /*::[*/0x0087/*::]*/: 1, /* FREADLN */ + /*::[*/0x0088/*::]*/: 2, /* FREAD */ + /*::[*/0x0089/*::]*/: 2, /* FWRITELN */ + /*::[*/0x008A/*::]*/: 2, /* FWRITE */ + /*::[*/0x008C/*::]*/: 1, /* DATEVALUE */ + /*::[*/0x008D/*::]*/: 1, /* TIMEVALUE */ + /*::[*/0x008E/*::]*/: 3, /* SLN */ + /*::[*/0x008F/*::]*/: 4, /* SYD */ + /*::[*/0x00A2/*::]*/: 1, /* CLEAN */ + /*::[*/0x00A3/*::]*/: 1, /* MDETERM */ + /*::[*/0x00A4/*::]*/: 1, /* MINVERSE */ + /*::[*/0x00A5/*::]*/: 2, /* MMULT */ + /*::[*/0x00AC/*::]*/: 1, /* WHILE */ + /*::[*/0x00AF/*::]*/: 2, /* INITIATE */ + /*::[*/0x00B0/*::]*/: 2, /* REQUEST */ + /*::[*/0x00B1/*::]*/: 3, /* POKE */ + /*::[*/0x00B2/*::]*/: 2, /* EXECUTE */ + /*::[*/0x00B3/*::]*/: 1, /* TERMINATE */ + /*::[*/0x00B8/*::]*/: 1, /* FACT */ + /*::[*/0x00BD/*::]*/: 3, /* DPRODUCT */ + /*::[*/0x00BE/*::]*/: 1, /* ISNONTEXT */ + /*::[*/0x00C3/*::]*/: 3, /* DSTDEVP */ + /*::[*/0x00C4/*::]*/: 3, /* DVARP */ + /*::[*/0x00C6/*::]*/: 1, /* ISLOGICAL */ + /*::[*/0x00C7/*::]*/: 3, /* DCOUNTA */ + /*::[*/0x00C9/*::]*/: 1, /* UNREGISTER */ + /*::[*/0x00CF/*::]*/: 4, /* REPLACEB */ + /*::[*/0x00D2/*::]*/: 3, /* MIDB */ + /*::[*/0x00D3/*::]*/: 1, /* LENB */ + /*::[*/0x00D4/*::]*/: 2, /* ROUNDUP */ + /*::[*/0x00D5/*::]*/: 2, /* ROUNDDOWN */ + /*::[*/0x00D6/*::]*/: 1, /* ASC */ + /*::[*/0x00D7/*::]*/: 1, /* DBCS */ + /*::[*/0x00E5/*::]*/: 1, /* SINH */ + /*::[*/0x00E6/*::]*/: 1, /* COSH */ + /*::[*/0x00E7/*::]*/: 1, /* TANH */ + /*::[*/0x00E8/*::]*/: 1, /* ASINH */ + /*::[*/0x00E9/*::]*/: 1, /* ACOSH */ + /*::[*/0x00EA/*::]*/: 1, /* ATANH */ + /*::[*/0x00EB/*::]*/: 3, /* DGET */ + /*::[*/0x00F4/*::]*/: 1, /* INFO */ + /*::[*/0x00FC/*::]*/: 2, /* FREQUENCY */ + /*::[*/0x0101/*::]*/: 1, /* EVALUATE */ + /*::[*/0x0105/*::]*/: 1, /* ERROR.TYPE */ + /*::[*/0x010F/*::]*/: 1, /* GAMMALN */ + /*::[*/0x0111/*::]*/: 4, /* BINOMDIST */ + /*::[*/0x0112/*::]*/: 2, /* CHIDIST */ + /*::[*/0x0113/*::]*/: 2, /* CHIINV */ + /*::[*/0x0114/*::]*/: 2, /* COMBIN */ + /*::[*/0x0115/*::]*/: 3, /* CONFIDENCE */ + /*::[*/0x0116/*::]*/: 3, /* CRITBINOM */ + /*::[*/0x0117/*::]*/: 1, /* EVEN */ + /*::[*/0x0118/*::]*/: 3, /* EXPONDIST */ + /*::[*/0x0119/*::]*/: 3, /* FDIST */ + /*::[*/0x011A/*::]*/: 3, /* FINV */ + /*::[*/0x011B/*::]*/: 1, /* FISHER */ + /*::[*/0x011C/*::]*/: 1, /* FISHERINV */ + /*::[*/0x011D/*::]*/: 2, /* FLOOR */ + /*::[*/0x011E/*::]*/: 4, /* GAMMADIST */ + /*::[*/0x011F/*::]*/: 3, /* GAMMAINV */ + /*::[*/0x0120/*::]*/: 2, /* CEILING */ + /*::[*/0x0121/*::]*/: 4, /* HYPGEOMDIST */ + /*::[*/0x0122/*::]*/: 3, /* LOGNORMDIST */ + /*::[*/0x0123/*::]*/: 3, /* LOGINV */ + /*::[*/0x0124/*::]*/: 3, /* NEGBINOMDIST */ + /*::[*/0x0125/*::]*/: 4, /* NORMDIST */ + /*::[*/0x0126/*::]*/: 1, /* NORMSDIST */ + /*::[*/0x0127/*::]*/: 3, /* NORMINV */ + /*::[*/0x0128/*::]*/: 1, /* NORMSINV */ + /*::[*/0x0129/*::]*/: 3, /* STANDARDIZE */ + /*::[*/0x012A/*::]*/: 1, /* ODD */ + /*::[*/0x012B/*::]*/: 2, /* PERMUT */ + /*::[*/0x012C/*::]*/: 3, /* POISSON */ + /*::[*/0x012D/*::]*/: 3, /* TDIST */ + /*::[*/0x012E/*::]*/: 4, /* WEIBULL */ + /*::[*/0x012F/*::]*/: 2, /* SUMXMY2 */ + /*::[*/0x0130/*::]*/: 2, /* SUMX2MY2 */ + /*::[*/0x0131/*::]*/: 2, /* SUMX2PY2 */ + /*::[*/0x0132/*::]*/: 2, /* CHITEST */ + /*::[*/0x0133/*::]*/: 2, /* CORREL */ + /*::[*/0x0134/*::]*/: 2, /* COVAR */ + /*::[*/0x0135/*::]*/: 3, /* FORECAST */ + /*::[*/0x0136/*::]*/: 2, /* FTEST */ + /*::[*/0x0137/*::]*/: 2, /* INTERCEPT */ + /*::[*/0x0138/*::]*/: 2, /* PEARSON */ + /*::[*/0x0139/*::]*/: 2, /* RSQ */ + /*::[*/0x013A/*::]*/: 2, /* STEYX */ + /*::[*/0x013B/*::]*/: 2, /* SLOPE */ + /*::[*/0x013C/*::]*/: 4, /* TTEST */ + /*::[*/0x0145/*::]*/: 2, /* LARGE */ + /*::[*/0x0146/*::]*/: 2, /* SMALL */ + /*::[*/0x0147/*::]*/: 2, /* QUARTILE */ + /*::[*/0x0148/*::]*/: 2, /* PERCENTILE */ + /*::[*/0x014B/*::]*/: 2, /* TRIMMEAN */ + /*::[*/0x014C/*::]*/: 2, /* TINV */ + /*::[*/0x0151/*::]*/: 2, /* POWER */ + /*::[*/0x0156/*::]*/: 1, /* RADIANS */ + /*::[*/0x0157/*::]*/: 1, /* DEGREES */ + /*::[*/0x015A/*::]*/: 2, /* COUNTIF */ + /*::[*/0x015B/*::]*/: 1, /* COUNTBLANK */ + /*::[*/0x015E/*::]*/: 4, /* ISPMT */ + /*::[*/0x015F/*::]*/: 3, /* DATEDIF */ + /*::[*/0x0160/*::]*/: 1, /* DATESTRING */ + /*::[*/0x0161/*::]*/: 2, /* NUMBERSTRING */ + /*::[*/0x0168/*::]*/: 1, /* PHONETIC */ + /*::[*/0x0170/*::]*/: 1, /* BAHTTEXT */ + /*::[*/0x0171/*::]*/: 1, /* THAIDAYOFWEEK */ + /*::[*/0x0172/*::]*/: 1, /* THAIDIGIT */ + /*::[*/0x0173/*::]*/: 1, /* THAIMONTHOFYEAR */ + /*::[*/0x0174/*::]*/: 1, /* THAINUMSOUND */ + /*::[*/0x0175/*::]*/: 1, /* THAINUMSTRING */ + /*::[*/0x0176/*::]*/: 1, /* THAISTRINGLENGTH */ + /*::[*/0x0177/*::]*/: 1, /* ISTHAIDIGIT */ + /*::[*/0x0178/*::]*/: 1, /* ROUNDBAHTDOWN */ + /*::[*/0x0179/*::]*/: 1, /* ROUNDBAHTUP */ + /*::[*/0x017A/*::]*/: 1, /* THAIYEAR */ + /*::[*/0xFFFF/*::]*/: 0 }; /* [MS-XLSX] 2.2.3 Functions */ var XLSXFutureFunctions = { @@ -7229,7 +7478,7 @@ var _ssfopts = {}; // spreadsheet formatting options RELS.WS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"; -function get_sst_id(sst, str) { +function get_sst_id(sst/*:SST*/, str)/*:number*/ { for(var i = 0, len = sst.length; i < len; ++i) if(sst[i].t === str) { sst.Count ++; return i; } sst[len] = {t:str}; sst.Count ++; sst.Unique ++; return len; } @@ -7284,19 +7533,20 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(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); } -var mergecregex = //g; +var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /]*\/>/g; +var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /]*\/>/g; +var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ -function parse_ws_xml(data, opts, rels) { +function parse_ws_xml(data/*:?string*/, opts, rels) { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ var s = {}; /* 18.3.1.35 dimension CT_SheetDimension ? */ - var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -7304,28 +7554,27 @@ function parse_ws_xml(data, opts, rels) { /* 18.3.1.55 mergeCells CT_MergeCells */ var mergecells = []; - if(data.indexOf("")!==-1) { - var merges = data.match(mergecregex); - if(merges) for(ridx = 0; ridx != merges.length; ++ridx) - mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); - } + var merges = data.match(mergecregex); + if(merges) for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles && data.indexOf("")!==-1) { + if(opts.cellStyles) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - parse_ws_xml_cols(columns, cols); + if(cols) parse_ws_xml_cols(columns, cols); } - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/); /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), rels); + var hlink = data.match(hlinkregex); + if(hlink) parse_ws_xml_hlinks(s, hlink, rels); if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -7391,11 +7640,11 @@ function parse_ws_xml_cols(columns, cols) { } } -function write_ws_xml_cols(ws, cols) { +function write_ws_xml_cols(ws, cols)/*:string*/ { var o = [""], col, width; for(var i = 0; i != cols.length; ++i) { if(!(col = cols[i])) continue; - var p = {min:i+1,max:i+1}; + var p = ({min:i+1,max:i+1}/*:any*/); /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -7425,7 +7674,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { break; default: vv = cell.v; break; } - var v = writetag('v', escapexml(vv)), o = {r:ref}; + var v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/); /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -7447,11 +7696,11 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; - var rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/is>/; + var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { - var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p; + var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; @@ -7476,7 +7725,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref !== null && cref.length === 2) { + if(cref != null && cref.length === 2) { idx = 0; d=cref[1]; for(i=0; i != d.length; ++i) { if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break; @@ -7489,10 +7738,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { tag = parsexmltag(x.substr(0,i), true); if(!tag.r) tag.r = utils.encode_cell({r:tagr-1, c:tagc}); d = x.substr(i); - p = {t:""}; + p = ({t:""}/*:any*/); - if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); - if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); + // $FlowIgnore + if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); + // $FlowIgnore + if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7519,7 +7770,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; + if(cref != null) { if((sstr = parse_si(cref[1]))) p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': @@ -7543,8 +7794,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { } }; })(); -function write_ws_xml_data(ws, opts, idx, wb) { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; +function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -7564,7 +7815,7 @@ var WS_XML_ROOT = writextag('worksheet', null, { 'xmlns:r': XMLNS.r }); -function write_ws_xml(idx/*:number*/, opts, wb)/*:string*/ { +function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ { var o = [XML_HEADER, WS_XML_ROOT]; var s = wb.SheetNames[idx], sidx = 0, rdata = ""; var ws = wb.Sheets[s]; @@ -7809,10 +8060,10 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; - recordhopper(data, function ws_parse(val, R) { - //console.log(R); + recordhopper(data, function ws_parse(val, Record) { + //console.log(Record); if(end) return; - switch(R.n) { + switch(Record.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; @@ -7830,7 +8081,7 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = {t:val[2]}; + p = ({t:val[2]}/*:any*/); switch(val[2]) { case 'n': p.v = val[1]; break; case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break; @@ -7848,7 +8099,7 @@ function parse_ws_bin(data, opts, rels) { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = {t:'s',v:undefined}; + p = ({t:'s',v:undefined}/*:any*/); s[encode_col(C=val[0].c) + rr] = p; if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; @@ -7984,10 +8235,10 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); - if(!s["!ref"] && (refguess.s.r < 2000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); + if(!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); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -8005,7 +8256,7 @@ function parse_ws_bin(data, opts, rels) { } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba, cell, R, C, opts) { +function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { if(cell.v === undefined) return ""; var vv = ""; switch(cell.t) { @@ -8013,7 +8264,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts) { case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o = {r:R, c:C}; + var o/*:CellAddress*/ = ({r:R, c:C}/*:any*/); /* TODO: cell style */ o.s = get_cell_style(opts.cellXfs, cell, opts); switch(cell.t) { @@ -8210,9 +8461,10 @@ function parse_wb_defaults(wb) { /* 18.2 Workbook */ var wbnsregex = /<\w+:workbook/; function parse_wb_xml(data, opts) { + if(!data) throw new Error("Could not find file"); var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, xmlns = "xmlns"; - data.match(tagregex).forEach(function xml_wb(x) { + (data.match(tagregex)||[]).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case ''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; var styles = {}, stag = {}; @@ -9259,7 +9520,7 @@ function parse_xlml_xml(d, opts) { } if(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); } - var out = {}; + var out = ({}/*:Any*/); if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -9277,8 +9538,10 @@ function parse_xlml(data, opts) { } } -function write_xlml(wb, opts) { } - +function write_xlml(wb, opts)/*:string*/ { + var o = [XML_HEADER]; + return o.join(""); +} /* [MS-OLEDS] 2.3.8 CompObjStream */ function parse_compobj(obj) { var v = {}; @@ -9303,11 +9566,11 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw "Unsupported Unicode Extension"; + throw new Error("Unsupported Unicode Extension"); } /* 2.4.58 Continue logic */ -function slurp(R, blob, length, opts) { +function slurp(R, blob, length/*:number*/, opts) { var l = length; var bufs = []; var d = blob.slice(blob.l,blob.l+l); @@ -9326,7 +9589,7 @@ function slurp(R, blob, length, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = bconcat(bufs); + var b = (bconcat(bufs)/*:any*/); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } @@ -9334,10 +9597,11 @@ function slurp(R, blob, length, opts) { } function safe_format_xf(p, opts, date1904) { + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } + if(p.t === 'e'); else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -9350,13 +9614,13 @@ function safe_format_xf(p, opts, date1904) { } catch(e) { if(opts.WTF) throw e; } } -function make_cell(val, ixfe, t) { - return {v:val, ixfe:ixfe, t:t}; +function make_cell(val, ixfe, t)/*:any*/ { + return ({v:val, ixfe:ixfe, t:t}/*:any*/); } // 2.3.2 -function parse_workbook(blob, options) { - var wb = {opts:{}}; +function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { + var wb = ({opts:{}}/*:any*/); var Sheets = {}; var out = {}; var Directory = {}; @@ -9404,7 +9668,7 @@ function parse_workbook(blob, options) { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = { + var opts = ({ enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -9416,17 +9680,18 @@ function parse_workbook(blob, options) { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }; + }/*:any*/); if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = [[]]; // 1-indexed, will hold extern names + var supbooks = ([[]]/*:any*/); // 1-indexed, will hold extern names var sbc = 0, sbci = 0, sbcli = 0; supbooks.SheetNames = opts.snames; supbooks.sharedf = opts.sharedf; supbooks.arrayf = opts.arrayf; var last_Rn = ''; var file_depth = 0; /* TODO: make a real stack */ + var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -9438,6 +9703,7 @@ function parse_workbook(blob, options) { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; + //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -9453,10 +9719,6 @@ function parse_workbook(blob, options) { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; - /* BIFF5 overrides */ - if(opts.biff === 5 || opts.biff === 2) switch(Rn) { - case 'Lbl': Rn = 'Label'; break; - } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -9534,41 +9796,48 @@ function parse_workbook(blob, options) { out = {}; } break; case 'BOF': { - if(opts.biff !== 8); + if(opts.biff !== 8){} else if(val.BIFFVer === 0x0500) opts.biff = 5; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; + else if(RecordType === 0x0009) opts.biff = 2; + else if(RecordType === 0x0209) opts.biff = 3; + else if(RecordType === 0x0409) opts.biff = 4; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff === 2) { + if(opts.biff < 5) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; + /* fake BoundSheet8 */ + var fakebs8 = {pos: blob.l - length, name:cur_sheet}; + Directory[fakebs8.pos] = fakebs8; + opts.snames.push(cur_sheet); } else cur_sheet = (Directory[s] || {name:""}).name; mergecells = []; objects = []; } break; - case 'Number': case 'BIFF2NUM': { + case 'Number': case 'BIFF2NUM': case 'BIFF2INT': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'BoolErr': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'RK': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'MulRk': { for(var j = val.c; j <= val.C; ++j) { var ixfe = val.rkrec[j-val.c][0]; temp_val= {ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -9577,10 +9846,10 @@ function parse_workbook(blob, options) { case 'String': last_formula = val; break; case 'Array Formula': throw "Array Formula unsupported"; default: - temp_val = {v:val.val, ixfe:val.cell.ixfe, t:val.tt}; + temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -9588,10 +9857,10 @@ function parse_workbook(blob, options) { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = {v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}; + temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; } @@ -9603,20 +9872,18 @@ function parse_workbook(blob, options) { if(!cell_valid) break; //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); /* TODO: capture range */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': - //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Label': case 'BIFF2STR': - /* Some writers erroneously write Label */ temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -9628,6 +9895,9 @@ function parse_workbook(blob, options) { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; + case 'BIFF2FORMAT': { + SSF.load(val, BIFF2Fmt++); + } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -9880,12 +10150,18 @@ function parse_workbook(blob, options) { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; + default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; - default: switch(R.n) { /* nested */ + /* BIFF2-4 records */ + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; + case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; + case 'Dimension': break; + /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -9894,7 +10170,7 @@ function parse_workbook(blob, options) { }}}} } else blob.l += length; } - var sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); + var sheetnamesraw = Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); var sheetnames = sheetnamesraw.slice(); wb.Directory=sheetnamesraw; wb.SheetNames=sheetnamesraw; @@ -9908,22 +10184,22 @@ function parse_workbook(blob, options) { return wb; } -function parse_xlscfb(cfb, options) { +function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/) { if(!options) options = {}; fix_read_opts(options); reset_cp(); -var CompObj, Summary, Workbook; -if(cfb.find) { +var CompObj, Summary, Workbook/*:?any*/; +if(cfb.FullPaths) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = {content: cfb}; + Workbook = ({content: cfb}/*:any*/); } if(!Workbook) Workbook = cfb.find('/Book'); -var CompObjP, SummaryP, WorkbookP; +var CompObjP, SummaryP, WorkbookP/*:?any*/; if(CompObj) CompObjP = parse_compobj(CompObj); if(options.bookProps && !options.bookSheets) WorkbookP = {}; @@ -9932,7 +10208,7 @@ else { else throw new Error("Cannot find Workbook stream"); } -if(cfb.find) parse_props(cfb); +if(cfb.FullPaths) parse_props(cfb); var props = {}; for(var y in cfb.Summary) props[y] = cfb.Summary[y]; @@ -9956,1234 +10232,1371 @@ function parse_props(cfb) { /* [MS-XLSB] 2.3 Record Enumeration */ var XLSBRecordEnum = { - 0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, - 0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, - 0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, - 0x0003: { n:"BrtCellError", f:parse_BrtCellError }, - 0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, - 0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, - 0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, - 0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, - 0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, - 0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, - 0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, - 0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, - 0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, - 0x0013: { n:"BrtSSTItem", f:parse_RichStr }, - 0x0014: { n:"BrtPCDIMissing", f:parsenoop }, - 0x0015: { n:"BrtPCDINumber", f:parsenoop }, - 0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, - 0x0017: { n:"BrtPCDIError", f:parsenoop }, - 0x0018: { n:"BrtPCDIString", f:parsenoop }, - 0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, - 0x001A: { n:"BrtPCDIIndex", f:parsenoop }, - 0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, - 0x001C: { n:"BrtPCDIANumber", f:parsenoop }, - 0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, - 0x001E: { n:"BrtPCDIAError", f:parsenoop }, - 0x001F: { n:"BrtPCDIAString", f:parsenoop }, - 0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, - 0x0021: { n:"BrtPCRRecord", f:parsenoop }, - 0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, - 0x0023: { n:"BrtFRTBegin", f:parsenoop }, - 0x0024: { n:"BrtFRTEnd", f:parsenoop }, - 0x0025: { n:"BrtACBegin", f:parsenoop }, - 0x0026: { n:"BrtACEnd", f:parsenoop }, - 0x0027: { n:"BrtName", f:parsenoop }, - 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, - 0x002A: { n:"BrtIndexBlock", f:parsenoop }, - 0x002B: { n:"BrtFont", f:parse_BrtFont }, - 0x002C: { n:"BrtFmt", f:parse_BrtFmt }, - 0x002D: { n:"BrtFill", f:parsenoop }, - 0x002E: { n:"BrtBorder", f:parsenoop }, - 0x002F: { n:"BrtXF", f:parse_BrtXF }, - 0x0030: { n:"BrtStyle", f:parsenoop }, - 0x0031: { n:"BrtCellMeta", f:parsenoop }, - 0x0032: { n:"BrtValueMeta", f:parsenoop }, - 0x0033: { n:"BrtMdb", f:parsenoop }, - 0x0034: { n:"BrtBeginFmd", f:parsenoop }, - 0x0035: { n:"BrtEndFmd", f:parsenoop }, - 0x0036: { n:"BrtBeginMdx", f:parsenoop }, - 0x0037: { n:"BrtEndMdx", f:parsenoop }, - 0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, - 0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, - 0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, - 0x003B: { n:"BrtStr", f:parsenoop }, - 0x003C: { n:"BrtColInfo", f:parsenoop }, - 0x003E: { n:"BrtCellRString", f:parsenoop }, - 0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, - 0x0040: { n:"BrtDVal", f:parsenoop }, - 0x0041: { n:"BrtSxvcellNum", f:parsenoop }, - 0x0042: { n:"BrtSxvcellStr", f:parsenoop }, - 0x0043: { n:"BrtSxvcellBool", f:parsenoop }, - 0x0044: { n:"BrtSxvcellErr", f:parsenoop }, - 0x0045: { n:"BrtSxvcellDate", f:parsenoop }, - 0x0046: { n:"BrtSxvcellNil", f:parsenoop }, - 0x0080: { n:"BrtFileVersion", f:parsenoop }, - 0x0081: { n:"BrtBeginSheet", f:parsenoop }, - 0x0082: { n:"BrtEndSheet", f:parsenoop }, - 0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, - 0x0084: { n:"BrtEndBook", f:parsenoop }, - 0x0085: { n:"BrtBeginWsViews", f:parsenoop }, - 0x0086: { n:"BrtEndWsViews", f:parsenoop }, - 0x0087: { n:"BrtBeginBookViews", f:parsenoop }, - 0x0088: { n:"BrtEndBookViews", f:parsenoop }, - 0x0089: { n:"BrtBeginWsView", f:parsenoop }, - 0x008A: { n:"BrtEndWsView", f:parsenoop }, - 0x008B: { n:"BrtBeginCsViews", f:parsenoop }, - 0x008C: { n:"BrtEndCsViews", f:parsenoop }, - 0x008D: { n:"BrtBeginCsView", f:parsenoop }, - 0x008E: { n:"BrtEndCsView", f:parsenoop }, - 0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, - 0x0090: { n:"BrtEndBundleShs", f:parsenoop }, - 0x0091: { n:"BrtBeginSheetData", f:parsenoop }, - 0x0092: { n:"BrtEndSheetData", f:parsenoop }, - 0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, - 0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, - 0x0097: { n:"BrtPane", f:parsenoop }, - 0x0098: { n:"BrtSel", f:parsenoop }, - 0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, - 0x009A: { n:"BrtWbFactoid", f:parsenoop }, - 0x009B: { n:"BrtFileRecover", f:parsenoop }, - 0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, - 0x009D: { n:"BrtCalcProp", f:parsenoop }, - 0x009E: { n:"BrtBookView", f:parsenoop }, - 0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, - 0x00A0: { n:"BrtEndSst", f:parsenoop }, - 0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, - 0x00A2: { n:"BrtEndAFilter", f:parsenoop }, - 0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, - 0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, - 0x00A5: { n:"BrtBeginFilters", f:parsenoop }, - 0x00A6: { n:"BrtEndFilters", f:parsenoop }, - 0x00A7: { n:"BrtFilter", f:parsenoop }, - 0x00A8: { n:"BrtColorFilter", f:parsenoop }, - 0x00A9: { n:"BrtIconFilter", f:parsenoop }, - 0x00AA: { n:"BrtTop10Filter", f:parsenoop }, - 0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, - 0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, - 0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, - 0x00AE: { n:"BrtCustomFilter", f:parsenoop }, - 0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, - 0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, - 0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, - 0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, - 0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, - 0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, - 0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, - 0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, - 0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, - 0x00B8: { n:"BrtEndPCDField", f:parsenoop }, - 0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, - 0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, - 0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, - 0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, - 0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, - 0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, - 0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, - 0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, - 0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, - 0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, - 0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, - 0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, - 0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, - 0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, - 0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, - 0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, - 0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, - 0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, - 0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, - 0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, - 0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, - 0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, - 0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, - 0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, - 0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, - 0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, - 0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, - 0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, - 0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, - 0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, - 0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, - 0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, - 0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, - 0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, - 0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, - 0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, - 0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, - 0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, - 0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, - 0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, - 0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, - 0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, - 0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, - 0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, - 0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, - 0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, - 0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, - 0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, - 0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, - 0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, - 0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, - 0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, - 0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, - 0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, - 0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, - 0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, - 0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, - 0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, - 0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, - 0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, - 0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, - 0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, - 0x00F7: { n:"BrtBeginPRule", f:parsenoop }, - 0x00F8: { n:"BrtEndPRule", f:parsenoop }, - 0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, - 0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, - 0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, - 0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, - 0x00FD: { n:"BrtBeginPNames", f:parsenoop }, - 0x00FE: { n:"BrtEndPNames", f:parsenoop }, - 0x00FF: { n:"BrtBeginPName", f:parsenoop }, - 0x0100: { n:"BrtEndPName", f:parsenoop }, - 0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, - 0x0102: { n:"BrtEndPNPairs", f:parsenoop }, - 0x0103: { n:"BrtBeginPNPair", f:parsenoop }, - 0x0104: { n:"BrtEndPNPair", f:parsenoop }, - 0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, - 0x0106: { n:"BrtEndECWebProps", f:parsenoop }, - 0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, - 0x0108: { n:"BrtEndECWPTables", f:parsenoop }, - 0x0109: { n:"BrtBeginECParams", f:parsenoop }, - 0x010A: { n:"BrtEndECParams", f:parsenoop }, - 0x010B: { n:"BrtBeginECParam", f:parsenoop }, - 0x010C: { n:"BrtEndECParam", f:parsenoop }, - 0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, - 0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, - 0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, - 0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, - 0x0111: { n:"BrtBeginDims", f:parsenoop }, - 0x0112: { n:"BrtEndDims", f:parsenoop }, - 0x0113: { n:"BrtBeginDim", f:parsenoop }, - 0x0114: { n:"BrtEndDim", f:parsenoop }, - 0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, - 0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, - 0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, - 0x0118: { n:"BrtBeginSXView", f:parsenoop }, - 0x0119: { n:"BrtEndSXVI", f:parsenoop }, - 0x011A: { n:"BrtBeginSXVI", f:parsenoop }, - 0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, - 0x011C: { n:"BrtEndSXVIs", f:parsenoop }, - 0x011D: { n:"BrtBeginSXVD", f:parsenoop }, - 0x011E: { n:"BrtEndSXVD", f:parsenoop }, - 0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, - 0x0120: { n:"BrtEndSXVDs", f:parsenoop }, - 0x0121: { n:"BrtBeginSXPI", f:parsenoop }, - 0x0122: { n:"BrtEndSXPI", f:parsenoop }, - 0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, - 0x0124: { n:"BrtEndSXPIs", f:parsenoop }, - 0x0125: { n:"BrtBeginSXDI", f:parsenoop }, - 0x0126: { n:"BrtEndSXDI", f:parsenoop }, - 0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, - 0x0128: { n:"BrtEndSXDIs", f:parsenoop }, - 0x0129: { n:"BrtBeginSXLI", f:parsenoop }, - 0x012A: { n:"BrtEndSXLI", f:parsenoop }, - 0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, - 0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, - 0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, - 0x012E: { n:"BrtEndSXLICols", f:parsenoop }, - 0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, - 0x0130: { n:"BrtEndSXFormat", f:parsenoop }, - 0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, - 0x0132: { n:"BrtEndSxFormats", f:parsenoop }, - 0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, - 0x0134: { n:"BrtEndSxSelect", f:parsenoop }, - 0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, - 0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, - 0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, - 0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, - 0x0139: { n:"BrtEndSXLocation", f:parsenoop }, - 0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, - 0x013B: { n:"BrtEndSXView", f:parsenoop }, - 0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, - 0x013D: { n:"BrtEndSXTHs", f:parsenoop }, - 0x013E: { n:"BrtBeginSXTH", f:parsenoop }, - 0x013F: { n:"BrtEndSXTH", f:parsenoop }, - 0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, - 0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, - 0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, - 0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, - 0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, - 0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, - 0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, - 0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, - 0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, - 0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, - 0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, - 0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, - 0x014C: { n:"BrtBeginMetadata", f:parsenoop }, - 0x014D: { n:"BrtEndMetadata", f:parsenoop }, - 0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, - 0x014F: { n:"BrtMdtinfo", f:parsenoop }, - 0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, - 0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, - 0x0152: { n:"BrtEndEsmdb", f:parsenoop }, - 0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, - 0x0154: { n:"BrtEndEsfmd", f:parsenoop }, - 0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, - 0x0156: { n:"BrtEndSingleCells", f:parsenoop }, - 0x0157: { n:"BrtBeginList", f:parsenoop }, - 0x0158: { n:"BrtEndList", f:parsenoop }, - 0x0159: { n:"BrtBeginListCols", f:parsenoop }, - 0x015A: { n:"BrtEndListCols", f:parsenoop }, - 0x015B: { n:"BrtBeginListCol", f:parsenoop }, - 0x015C: { n:"BrtEndListCol", f:parsenoop }, - 0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, - 0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, - 0x015F: { n:"BrtListCCFmla", f:parsenoop }, - 0x0160: { n:"BrtListTrFmla", f:parsenoop }, - 0x0161: { n:"BrtBeginExternals", f:parsenoop }, - 0x0162: { n:"BrtEndExternals", f:parsenoop }, - 0x0163: { n:"BrtSupBookSrc", f:parsenoop }, - 0x0165: { n:"BrtSupSelf", f:parsenoop }, - 0x0166: { n:"BrtSupSame", f:parsenoop }, - 0x0167: { n:"BrtSupTabs", f:parsenoop }, - 0x0168: { n:"BrtBeginSupBook", f:parsenoop }, - 0x0169: { n:"BrtPlaceholderName", f:parsenoop }, - 0x016A: { n:"BrtExternSheet", f:parsenoop }, - 0x016B: { n:"BrtExternTableStart", f:parsenoop }, - 0x016C: { n:"BrtExternTableEnd", f:parsenoop }, - 0x016E: { n:"BrtExternRowHdr", f:parsenoop }, - 0x016F: { n:"BrtExternCellBlank", f:parsenoop }, - 0x0170: { n:"BrtExternCellReal", f:parsenoop }, - 0x0171: { n:"BrtExternCellBool", f:parsenoop }, - 0x0172: { n:"BrtExternCellError", f:parsenoop }, - 0x0173: { n:"BrtExternCellString", f:parsenoop }, - 0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, - 0x0175: { n:"BrtEndEsmdx", f:parsenoop }, - 0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, - 0x0177: { n:"BrtEndMdxSet", f:parsenoop }, - 0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, - 0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, - 0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, - 0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, - 0x017C: { n:"BrtBeginEsstr", f:parsenoop }, - 0x017D: { n:"BrtEndEsstr", f:parsenoop }, - 0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, - 0x017F: { n:"BrtEndPRFItem", f:parsenoop }, - 0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, - 0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, - 0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, - 0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, - 0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, - 0x0185: { n:"BrtEndISXVIs", f:parsenoop }, - 0x0186: { n:"BrtBeginColInfos", f:parsenoop }, - 0x0187: { n:"BrtEndColInfos", f:parsenoop }, - 0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, - 0x0189: { n:"BrtEndRwBrk", f:parsenoop }, - 0x018A: { n:"BrtBeginColBrk", f:parsenoop }, - 0x018B: { n:"BrtEndColBrk", f:parsenoop }, - 0x018C: { n:"BrtBrk", f:parsenoop }, - 0x018D: { n:"BrtUserBookView", f:parsenoop }, - 0x018E: { n:"BrtInfo", f:parsenoop }, - 0x018F: { n:"BrtCUsr", f:parsenoop }, - 0x0190: { n:"BrtUsr", f:parsenoop }, - 0x0191: { n:"BrtBeginUsers", f:parsenoop }, - 0x0193: { n:"BrtEOF", f:parsenoop }, - 0x0194: { n:"BrtUCR", f:parsenoop }, - 0x0195: { n:"BrtRRInsDel", f:parsenoop }, - 0x0196: { n:"BrtRREndInsDel", f:parsenoop }, - 0x0197: { n:"BrtRRMove", f:parsenoop }, - 0x0198: { n:"BrtRREndMove", f:parsenoop }, - 0x0199: { n:"BrtRRChgCell", f:parsenoop }, - 0x019A: { n:"BrtRREndChgCell", f:parsenoop }, - 0x019B: { n:"BrtRRHeader", f:parsenoop }, - 0x019C: { n:"BrtRRUserView", f:parsenoop }, - 0x019D: { n:"BrtRRRenSheet", f:parsenoop }, - 0x019E: { n:"BrtRRInsertSh", f:parsenoop }, - 0x019F: { n:"BrtRRDefName", f:parsenoop }, - 0x01A0: { n:"BrtRRNote", f:parsenoop }, - 0x01A1: { n:"BrtRRConflict", f:parsenoop }, - 0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, - 0x01A3: { n:"BrtRRFormat", f:parsenoop }, - 0x01A4: { n:"BrtRREndFormat", f:parsenoop }, - 0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, - 0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, - 0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, - 0x01A8: { n:"BrtEndUserShView", f:parsenoop }, - 0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, - 0x01AA: { n:"BrtArrFmla", f:parsenoop }, - 0x01AB: { n:"BrtShrFmla", f:parsenoop }, - 0x01AC: { n:"BrtTable", f:parsenoop }, - 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, - 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, - 0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, - 0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, - 0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, - 0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, - 0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, - 0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, - 0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, - 0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, - 0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, - 0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, - 0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, - 0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, - 0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, - 0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, - 0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, - 0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, - 0x01BF: { n:"BrtBeginQSI", f:parsenoop }, - 0x01C0: { n:"BrtEndQSI", f:parsenoop }, - 0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, - 0x01C2: { n:"BrtEndQSIR", f:parsenoop }, - 0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, - 0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, - 0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, - 0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, - 0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, - 0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, - 0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, - 0x01CA: { n:"BrtEndQSIF", f:parsenoop }, - 0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, - 0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, - 0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, - 0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, - 0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, - 0x01D0: { n:"BrtEndCFRule", f:parsenoop }, - 0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, - 0x01D2: { n:"BrtEndIconSet", f:parsenoop }, - 0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, - 0x01D4: { n:"BrtEndDatabar", f:parsenoop }, - 0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, - 0x01D6: { n:"BrtEndColorScale", f:parsenoop }, - 0x01D7: { n:"BrtCFVO", f:parsenoop }, - 0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, - 0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, - 0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, - 0x01DB: { n:"BrtIndexedColor", f:parsenoop }, - 0x01DC: { n:"BrtMargins", f:parsenoop }, - 0x01DD: { n:"BrtPrintOptions", f:parsenoop }, - 0x01DE: { n:"BrtPageSetup", f:parsenoop }, - 0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, - 0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, - 0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, - 0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, - 0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, - 0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, - 0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, - 0x01E6: { n:"BrtBeginMgs", f:parsenoop }, - 0x01E7: { n:"BrtEndMGs", f:parsenoop }, - 0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, - 0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, - 0x01EA: { n:"BrtBeginMG", f:parsenoop }, - 0x01EB: { n:"BrtEndMG", f:parsenoop }, - 0x01EC: { n:"BrtBeginMap", f:parsenoop }, - 0x01ED: { n:"BrtEndMap", f:parsenoop }, - 0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, - 0x01EF: { n:"BrtBeginDCon", f:parsenoop }, - 0x01F0: { n:"BrtEndDCon", f:parsenoop }, - 0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, - 0x01F2: { n:"BrtEndDRefs", f:parsenoop }, - 0x01F3: { n:"BrtDRef", f:parsenoop }, - 0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, - 0x01F5: { n:"BrtEndScenMan", f:parsenoop }, - 0x01F6: { n:"BrtBeginSct", f:parsenoop }, - 0x01F7: { n:"BrtEndSct", f:parsenoop }, - 0x01F8: { n:"BrtSlc", f:parsenoop }, - 0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, - 0x01FA: { n:"BrtEndDXFs", f:parsenoop }, - 0x01FB: { n:"BrtDXF", f:parsenoop }, - 0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, - 0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, - 0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, - 0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, - 0x0200: { n:"BrtTableStyleElement", f:parsenoop }, - 0x0201: { n:"BrtTableStyleClient", f:parsenoop }, - 0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, - 0x0203: { n:"BrtEndVolDeps", f:parsenoop }, - 0x0204: { n:"BrtBeginVolType", f:parsenoop }, - 0x0205: { n:"BrtEndVolType", f:parsenoop }, - 0x0206: { n:"BrtBeginVolMain", f:parsenoop }, - 0x0207: { n:"BrtEndVolMain", f:parsenoop }, - 0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, - 0x0209: { n:"BrtEndVolTopic", f:parsenoop }, - 0x020A: { n:"BrtVolSubtopic", f:parsenoop }, - 0x020B: { n:"BrtVolRef", f:parsenoop }, - 0x020C: { n:"BrtVolNum", f:parsenoop }, - 0x020D: { n:"BrtVolErr", f:parsenoop }, - 0x020E: { n:"BrtVolStr", f:parsenoop }, - 0x020F: { n:"BrtVolBool", f:parsenoop }, - 0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, - 0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, - 0x0212: { n:"BrtBeginSortState", f:parsenoop }, - 0x0213: { n:"BrtEndSortState", f:parsenoop }, - 0x0214: { n:"BrtBeginSortCond", f:parsenoop }, - 0x0215: { n:"BrtEndSortCond", f:parsenoop }, - 0x0216: { n:"BrtBookProtection", f:parsenoop }, - 0x0217: { n:"BrtSheetProtection", f:parsenoop }, - 0x0218: { n:"BrtRangeProtection", f:parsenoop }, - 0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, - 0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, - 0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, - 0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, - 0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, - 0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, - 0x0224: { n:"BrtFileSharing", f:parsenoop }, - 0x0225: { n:"BrtOleSize", f:parsenoop }, - 0x0226: { n:"BrtDrawing", f:parsenoop }, - 0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, - 0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, - 0x0229: { n:"BrtWebOpt", f:parsenoop }, - 0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, - 0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, - 0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, - 0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, - 0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, - 0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, - 0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, - 0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, - 0x0232: { n:"BrtBkHim", f:parsenoop }, - 0x0234: { n:"BrtColor", f:parsenoop }, - 0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, - 0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, - 0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, - 0x023A: { n:"BrtEndMRUColors", f:parsenoop }, - 0x023C: { n:"BrtMRUColor", f:parsenoop }, - 0x023D: { n:"BrtBeginDVals", f:parsenoop }, - 0x023E: { n:"BrtEndDVals", f:parsenoop }, - 0x0241: { n:"BrtSupNameStart", f:parsenoop }, - 0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, - 0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, - 0x0244: { n:"BrtSupNameNum", f:parsenoop }, - 0x0245: { n:"BrtSupNameErr", f:parsenoop }, - 0x0246: { n:"BrtSupNameSt", f:parsenoop }, - 0x0247: { n:"BrtSupNameNil", f:parsenoop }, - 0x0248: { n:"BrtSupNameBool", f:parsenoop }, - 0x0249: { n:"BrtSupNameFmla", f:parsenoop }, - 0x024A: { n:"BrtSupNameBits", f:parsenoop }, - 0x024B: { n:"BrtSupNameEnd", f:parsenoop }, - 0x024C: { n:"BrtEndSupBook", f:parsenoop }, - 0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, - 0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, - 0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, - 0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, - 0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, - 0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, - 0x0253: { n:"BrtEndSmartTags", f:parsenoop }, - 0x0254: { n:"BrtSmartTagType", f:parsenoop }, - 0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, - 0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, - 0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, - 0x0258: { n:"BrtEndSXFilters", f:parsenoop }, - 0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, - 0x025A: { n:"BrtEndSXFilter", f:parsenoop }, - 0x025B: { n:"BrtBeginFills", f:parsenoop }, - 0x025C: { n:"BrtEndFills", f:parsenoop }, - 0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, - 0x025E: { n:"BrtEndCellWatches", f:parsenoop }, - 0x025F: { n:"BrtCellWatch", f:parsenoop }, - 0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, - 0x0261: { n:"BrtEndCRErrs", f:parsenoop }, - 0x0262: { n:"BrtCrashRecErr", f:parsenoop }, - 0x0263: { n:"BrtBeginFonts", f:parsenoop }, - 0x0264: { n:"BrtEndFonts", f:parsenoop }, - 0x0265: { n:"BrtBeginBorders", f:parsenoop }, - 0x0266: { n:"BrtEndBorders", f:parsenoop }, - 0x0267: { n:"BrtBeginFmts", f:parsenoop }, - 0x0268: { n:"BrtEndFmts", f:parsenoop }, - 0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, - 0x026A: { n:"BrtEndCellXFs", f:parsenoop }, - 0x026B: { n:"BrtBeginStyles", f:parsenoop }, - 0x026C: { n:"BrtEndStyles", f:parsenoop }, - 0x0271: { n:"BrtBigName", f:parsenoop }, - 0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, - 0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, - 0x0274: { n:"BrtBeginComments", f:parsenoop }, - 0x0275: { n:"BrtEndComments", f:parsenoop }, - 0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, - 0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, - 0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, - 0x0279: { n:"BrtBeginCommentList", f:parsenoop }, - 0x027A: { n:"BrtEndCommentList", f:parsenoop }, - 0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, - 0x027C: { n:"BrtEndComment", f:parsenoop }, - 0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, - 0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, - 0x027F: { n:"BrtOleObject", f:parsenoop }, - 0x0280: { n:"BrtEndOleObjects", f:parsenoop }, - 0x0281: { n:"BrtBeginSxrules", f:parsenoop }, - 0x0282: { n:"BrtEndSxRules", f:parsenoop }, - 0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, - 0x0284: { n:"BrtActiveX", f:parsenoop }, - 0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, - 0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, - 0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, - 0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, - 0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, - 0x028B: { n:"BrtCsProp", f:parsenoop }, - 0x028C: { n:"BrtCsPageSetup", f:parsenoop }, - 0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, - 0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, - 0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, - 0x0290: { n:"BrtEndUserCsView", f:parsenoop }, - 0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, - 0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, - 0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, - 0x0294: { n:"BrtBeginListParts", f:parsenoop }, - 0x0295: { n:"BrtListPart", f:parsenoop }, - 0x0296: { n:"BrtEndListParts", f:parsenoop }, - 0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, - 0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, - 0x0299: { n:"BrtFnGroup", f:parsenoop }, - 0x029A: { n:"BrtEndFnGroup", f:parsenoop }, - 0x029B: { n:"BrtSupAddin", f:parsenoop }, - 0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, - 0x029D: { n:"BrtCsProtection", f:parsenoop }, - 0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, - 0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, - 0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, - 0x02A2: { n:"BrtEndRRSort", f:parsenoop }, - 0x02A3: { n:"BrtRRSortItem", f:parsenoop }, - 0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, - 0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, - 0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, - 0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, - 0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, - 0x0400: { n:"BrtRwDescent", f:parsenoop }, - 0x0401: { n:"BrtKnownFonts", f:parsenoop }, - 0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, - 0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, - 0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, - 0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, - 0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, - 0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, - 0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, - 0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, - 0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, - 0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, - 0x040C: { n:"BrtNameExt", f:parsenoop }, - 0x040D: { n:"BrtPCDH14", f:parsenoop }, - 0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, - 0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, - 0x0410: { n:"BrtSXTH14", f:parsenoop }, - 0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, - 0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, - 0x0413: { n:"BrtSparkline", f:parsenoop }, - 0x0414: { n:"BrtSXDI14", f:parsenoop }, - 0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, - 0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, - 0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, - 0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, - 0x0419: { n:"BrtEndCFRule14", f:parsenoop }, - 0x041A: { n:"BrtCFVO14", f:parsenoop }, - 0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, - 0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, - 0x041D: { n:"BrtDVal14", f:parsenoop }, - 0x041E: { n:"BrtBeginDVals14", f:parsenoop }, - 0x041F: { n:"BrtColor14", f:parsenoop }, - 0x0420: { n:"BrtBeginSparklines", f:parsenoop }, - 0x0421: { n:"BrtEndSparklines", f:parsenoop }, - 0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, - 0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, - 0x0425: { n:"BrtSXVD14", f:parsenoop }, - 0x0426: { n:"BrtBeginSxview14", f:parsenoop }, - 0x0427: { n:"BrtEndSxview14", f:parsenoop }, - 0x042A: { n:"BrtBeginPCD14", f:parsenoop }, - 0x042B: { n:"BrtEndPCD14", f:parsenoop }, - 0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, - 0x042D: { n:"BrtEndExtConn14", f:parsenoop }, - 0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, - 0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, - 0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, - 0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, - 0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, - 0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, - 0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, - 0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, - 0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, - 0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, - 0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, - 0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, - 0x043B: { n:"BrtBeginSlicer", f:parsenoop }, - 0x043C: { n:"BrtEndSlicer", f:parsenoop }, - 0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, - 0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, - 0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, - 0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, - 0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, - 0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, - 0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, - 0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, - 0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, - 0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, - 0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, - 0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, - 0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, - 0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, - 0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, - 0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, - 0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, - 0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, - 0x044F: { n:"BrtRangeProtection14", f:parsenoop }, - 0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, - 0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, - 0x0457: { n:"BrtList14", f:parsenoop }, - 0x0458: { n:"BrtCFIcon", f:parsenoop }, - 0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045B: { n:"BrtBeginSlicers", f:parsenoop }, - 0x045C: { n:"BrtEndSlicers", f:parsenoop }, - 0x045D: { n:"BrtWbProp14", f:parsenoop }, - 0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, - 0x045F: { n:"BrtEndSXEdit", f:parsenoop }, - 0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, - 0x0461: { n:"BrtEndSXEdits", f:parsenoop }, - 0x0462: { n:"BrtBeginSXChange", f:parsenoop }, - 0x0463: { n:"BrtEndSXChange", f:parsenoop }, - 0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, - 0x0465: { n:"BrtEndSXChanges", f:parsenoop }, - 0x0466: { n:"BrtSXTupleItems", f:parsenoop }, - 0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, - 0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, - 0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, - 0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, - 0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, - 0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, - 0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, - 0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, - 0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, - 0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, - 0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, - 0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, - 0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, - 0x0475: { n:"BrtPCDField14", f:parsenoop }, - 0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, - 0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, - 0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, - 0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, - 0x047A: { n:"BrtCFRuleExt", f:parsenoop }, - 0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, - 0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, - 0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, - 0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, - 0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, - 0x0481: { n:"BrtEndSortCond14", f:parsenoop }, - 0x0482: { n:"BrtEndDVals14", f:parsenoop }, - 0x0483: { n:"BrtEndIconSet14", f:parsenoop }, - 0x0484: { n:"BrtEndDatabar14", f:parsenoop }, - 0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, - 0x0486: { n:"BrtEndColorScale14", f:parsenoop }, - 0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, - 0x0488: { n:"BrtEndSxrules14", f:parsenoop }, - 0x0489: { n:"BrtBeginPRule14", f:parsenoop }, - 0x048A: { n:"BrtEndPRule14", f:parsenoop }, - 0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, - 0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, - 0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, - 0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, - 0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, - 0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, - 0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, - 0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, - 0x0493: { n:"BrtDxf14", f:parsenoop }, - 0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, - 0x0495: { n:"BrtEndDxf14s", f:parsenoop }, - 0x0499: { n:"BrtFilter14", f:parsenoop }, - 0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, - 0x049C: { n:"BrtCustomFilter14", f:parsenoop }, - 0x049D: { n:"BrtIconFilter14", f:parsenoop }, - 0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, - 0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, - 0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, - 0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, - 0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, - 0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, - 0x0805: { n:"BrtPivotTableRef", f:parsenoop }, - 0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, - 0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, - 0x0808: { n:"BrtEndSxvcells", f:parsenoop }, - 0x0809: { n:"BrtBeginSxRow", f:parsenoop }, - 0x080A: { n:"BrtEndSxRow", f:parsenoop }, - 0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, - 0x0813: { n:"BrtQsi15", f:parsenoop }, - 0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, - 0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, - 0x0816: { n:"BrtWebExtension", f:parsenoop }, - 0x0817: { n:"BrtAbsPath15", f:parsenoop }, - 0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, - 0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, - 0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, - 0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, - 0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, - 0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, - 0x081F: { n:"BrtSxFilter15", f:parsenoop }, - 0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, - 0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, - 0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, - 0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, - 0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, - 0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, - 0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, - 0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, - 0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, - 0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, - 0x082C: { n:"BrtPCDH15", f:parsenoop }, - 0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, - 0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, - 0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, - 0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, - 0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, - 0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, - 0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, - 0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, - 0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, - 0x0836: { n:"BrtDxf15", f:parsenoop }, - 0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, - 0x0838: { n:"brtEndDxfs15", f:parsenoop }, - 0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, - 0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, - 0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, - 0x083C: { n:"BrtItemUniqueName", f:parsenoop }, - 0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, - 0x083E: { n:"BrtEndExtConn15", f:parsenoop }, - 0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, - 0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, - 0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, - 0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, - 0x0843: { n:"BrtTextPr15", f:parsenoop }, - 0x0844: { n:"BrtRangePr15", f:parsenoop }, - 0x0845: { n:"BrtDbCommand15", f:parsenoop }, - 0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, - 0x0847: { n:"BrtEndDbTables15", f:parsenoop }, - 0x0848: { n:"BrtDbTable15", f:parsenoop }, - 0x0849: { n:"BrtBeginDataModel", f:parsenoop }, - 0x084A: { n:"BrtEndDataModel", f:parsenoop }, - 0x084B: { n:"BrtBeginModelTables", f:parsenoop }, - 0x084C: { n:"BrtEndModelTables", f:parsenoop }, - 0x084D: { n:"BrtModelTable", f:parsenoop }, - 0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, - 0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, - 0x0850: { n:"BrtModelRelationship", f:parsenoop }, - 0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, - 0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, - 0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, - 0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, - 0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, - 0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, - 0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, - 0x0858: { n:"BrtSXDI15", f:parsenoop }, - 0xFFFF: { n:"", f:parsenoop } + /*::[*/0x0000/*::]*/: { n:"BrtRowHdr", f:parse_BrtRowHdr }, + /*::[*/0x0001/*::]*/: { n:"BrtCellBlank", f:parse_BrtCellBlank }, + /*::[*/0x0002/*::]*/: { n:"BrtCellRk", f:parse_BrtCellRk }, + /*::[*/0x0003/*::]*/: { n:"BrtCellError", f:parse_BrtCellError }, + /*::[*/0x0004/*::]*/: { n:"BrtCellBool", f:parse_BrtCellBool }, + /*::[*/0x0005/*::]*/: { n:"BrtCellReal", f:parse_BrtCellReal }, + /*::[*/0x0006/*::]*/: { n:"BrtCellSt", f:parse_BrtCellSt }, + /*::[*/0x0007/*::]*/: { n:"BrtCellIsst", f:parse_BrtCellIsst }, + /*::[*/0x0008/*::]*/: { n:"BrtFmlaString", f:parse_BrtFmlaString }, + /*::[*/0x0009/*::]*/: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, + /*::[*/0x000A/*::]*/: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, + /*::[*/0x000B/*::]*/: { n:"BrtFmlaError", f:parse_BrtFmlaError }, + /*::[*/0x0010/*::]*/: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, + /*::[*/0x0013/*::]*/: { n:"BrtSSTItem", f:parse_RichStr }, + /*::[*/0x0014/*::]*/: { n:"BrtPCDIMissing", f:parsenoop }, + /*::[*/0x0015/*::]*/: { n:"BrtPCDINumber", f:parsenoop }, + /*::[*/0x0016/*::]*/: { n:"BrtPCDIBoolean", f:parsenoop }, + /*::[*/0x0017/*::]*/: { n:"BrtPCDIError", f:parsenoop }, + /*::[*/0x0018/*::]*/: { n:"BrtPCDIString", f:parsenoop }, + /*::[*/0x0019/*::]*/: { n:"BrtPCDIDatetime", f:parsenoop }, + /*::[*/0x001A/*::]*/: { n:"BrtPCDIIndex", f:parsenoop }, + /*::[*/0x001B/*::]*/: { n:"BrtPCDIAMissing", f:parsenoop }, + /*::[*/0x001C/*::]*/: { n:"BrtPCDIANumber", f:parsenoop }, + /*::[*/0x001D/*::]*/: { n:"BrtPCDIABoolean", f:parsenoop }, + /*::[*/0x001E/*::]*/: { n:"BrtPCDIAError", f:parsenoop }, + /*::[*/0x001F/*::]*/: { n:"BrtPCDIAString", f:parsenoop }, + /*::[*/0x0020/*::]*/: { n:"BrtPCDIADatetime", f:parsenoop }, + /*::[*/0x0021/*::]*/: { n:"BrtPCRRecord", f:parsenoop }, + /*::[*/0x0022/*::]*/: { n:"BrtPCRRecordDt", f:parsenoop }, + /*::[*/0x0023/*::]*/: { n:"BrtFRTBegin", f:parsenoop }, + /*::[*/0x0024/*::]*/: { n:"BrtFRTEnd", f:parsenoop }, + /*::[*/0x0025/*::]*/: { n:"BrtACBegin", f:parsenoop }, + /*::[*/0x0026/*::]*/: { n:"BrtACEnd", f:parsenoop }, + /*::[*/0x0027/*::]*/: { n:"BrtName", f:parsenoop }, + /*::[*/0x0028/*::]*/: { n:"BrtIndexRowBlock", f:parsenoop }, + /*::[*/0x002A/*::]*/: { n:"BrtIndexBlock", f:parsenoop }, + /*::[*/0x002B/*::]*/: { n:"BrtFont", f:parse_BrtFont }, + /*::[*/0x002C/*::]*/: { n:"BrtFmt", f:parse_BrtFmt }, + /*::[*/0x002D/*::]*/: { n:"BrtFill", f:parsenoop }, + /*::[*/0x002E/*::]*/: { n:"BrtBorder", f:parsenoop }, + /*::[*/0x002F/*::]*/: { n:"BrtXF", f:parse_BrtXF }, + /*::[*/0x0030/*::]*/: { n:"BrtStyle", f:parsenoop }, + /*::[*/0x0031/*::]*/: { n:"BrtCellMeta", f:parsenoop }, + /*::[*/0x0032/*::]*/: { n:"BrtValueMeta", f:parsenoop }, + /*::[*/0x0033/*::]*/: { n:"BrtMdb", f:parsenoop }, + /*::[*/0x0034/*::]*/: { n:"BrtBeginFmd", f:parsenoop }, + /*::[*/0x0035/*::]*/: { n:"BrtEndFmd", f:parsenoop }, + /*::[*/0x0036/*::]*/: { n:"BrtBeginMdx", f:parsenoop }, + /*::[*/0x0037/*::]*/: { n:"BrtEndMdx", f:parsenoop }, + /*::[*/0x0038/*::]*/: { n:"BrtBeginMdxTuple", f:parsenoop }, + /*::[*/0x0039/*::]*/: { n:"BrtEndMdxTuple", f:parsenoop }, + /*::[*/0x003A/*::]*/: { n:"BrtMdxMbrIstr", f:parsenoop }, + /*::[*/0x003B/*::]*/: { n:"BrtStr", f:parsenoop }, + /*::[*/0x003C/*::]*/: { n:"BrtColInfo", f:parsenoop }, + /*::[*/0x003E/*::]*/: { n:"BrtCellRString", f:parsenoop }, + /*::[*/0x003F/*::]*/: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, + /*::[*/0x0040/*::]*/: { n:"BrtDVal", f:parsenoop }, + /*::[*/0x0041/*::]*/: { n:"BrtSxvcellNum", f:parsenoop }, + /*::[*/0x0042/*::]*/: { n:"BrtSxvcellStr", f:parsenoop }, + /*::[*/0x0043/*::]*/: { n:"BrtSxvcellBool", f:parsenoop }, + /*::[*/0x0044/*::]*/: { n:"BrtSxvcellErr", f:parsenoop }, + /*::[*/0x0045/*::]*/: { n:"BrtSxvcellDate", f:parsenoop }, + /*::[*/0x0046/*::]*/: { n:"BrtSxvcellNil", f:parsenoop }, + /*::[*/0x0080/*::]*/: { n:"BrtFileVersion", f:parsenoop }, + /*::[*/0x0081/*::]*/: { n:"BrtBeginSheet", f:parsenoop }, + /*::[*/0x0082/*::]*/: { n:"BrtEndSheet", f:parsenoop }, + /*::[*/0x0083/*::]*/: { n:"BrtBeginBook", f:parsenoop, p:0 }, + /*::[*/0x0084/*::]*/: { n:"BrtEndBook", f:parsenoop }, + /*::[*/0x0085/*::]*/: { n:"BrtBeginWsViews", f:parsenoop }, + /*::[*/0x0086/*::]*/: { n:"BrtEndWsViews", f:parsenoop }, + /*::[*/0x0087/*::]*/: { n:"BrtBeginBookViews", f:parsenoop }, + /*::[*/0x0088/*::]*/: { n:"BrtEndBookViews", f:parsenoop }, + /*::[*/0x0089/*::]*/: { n:"BrtBeginWsView", f:parsenoop }, + /*::[*/0x008A/*::]*/: { n:"BrtEndWsView", f:parsenoop }, + /*::[*/0x008B/*::]*/: { n:"BrtBeginCsViews", f:parsenoop }, + /*::[*/0x008C/*::]*/: { n:"BrtEndCsViews", f:parsenoop }, + /*::[*/0x008D/*::]*/: { n:"BrtBeginCsView", f:parsenoop }, + /*::[*/0x008E/*::]*/: { n:"BrtEndCsView", f:parsenoop }, + /*::[*/0x008F/*::]*/: { n:"BrtBeginBundleShs", f:parsenoop }, + /*::[*/0x0090/*::]*/: { n:"BrtEndBundleShs", f:parsenoop }, + /*::[*/0x0091/*::]*/: { n:"BrtBeginSheetData", f:parsenoop }, + /*::[*/0x0092/*::]*/: { n:"BrtEndSheetData", f:parsenoop }, + /*::[*/0x0093/*::]*/: { n:"BrtWsProp", f:parse_BrtWsProp }, + /*::[*/0x0094/*::]*/: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, + /*::[*/0x0097/*::]*/: { n:"BrtPane", f:parsenoop }, + /*::[*/0x0098/*::]*/: { n:"BrtSel", f:parsenoop }, + /*::[*/0x0099/*::]*/: { n:"BrtWbProp", f:parse_BrtWbProp }, + /*::[*/0x009A/*::]*/: { n:"BrtWbFactoid", f:parsenoop }, + /*::[*/0x009B/*::]*/: { n:"BrtFileRecover", f:parsenoop }, + /*::[*/0x009C/*::]*/: { n:"BrtBundleSh", f:parse_BrtBundleSh }, + /*::[*/0x009D/*::]*/: { n:"BrtCalcProp", f:parsenoop }, + /*::[*/0x009E/*::]*/: { n:"BrtBookView", f:parsenoop }, + /*::[*/0x009F/*::]*/: { n:"BrtBeginSst", f:parse_BrtBeginSst }, + /*::[*/0x00A0/*::]*/: { n:"BrtEndSst", f:parsenoop }, + /*::[*/0x00A1/*::]*/: { n:"BrtBeginAFilter", f:parsenoop }, + /*::[*/0x00A2/*::]*/: { n:"BrtEndAFilter", f:parsenoop }, + /*::[*/0x00A3/*::]*/: { n:"BrtBeginFilterColumn", f:parsenoop }, + /*::[*/0x00A4/*::]*/: { n:"BrtEndFilterColumn", f:parsenoop }, + /*::[*/0x00A5/*::]*/: { n:"BrtBeginFilters", f:parsenoop }, + /*::[*/0x00A6/*::]*/: { n:"BrtEndFilters", f:parsenoop }, + /*::[*/0x00A7/*::]*/: { n:"BrtFilter", f:parsenoop }, + /*::[*/0x00A8/*::]*/: { n:"BrtColorFilter", f:parsenoop }, + /*::[*/0x00A9/*::]*/: { n:"BrtIconFilter", f:parsenoop }, + /*::[*/0x00AA/*::]*/: { n:"BrtTop10Filter", f:parsenoop }, + /*::[*/0x00AB/*::]*/: { n:"BrtDynamicFilter", f:parsenoop }, + /*::[*/0x00AC/*::]*/: { n:"BrtBeginCustomFilters", f:parsenoop }, + /*::[*/0x00AD/*::]*/: { n:"BrtEndCustomFilters", f:parsenoop }, + /*::[*/0x00AE/*::]*/: { n:"BrtCustomFilter", f:parsenoop }, + /*::[*/0x00AF/*::]*/: { n:"BrtAFilterDateGroupItem", f:parsenoop }, + /*::[*/0x00B0/*::]*/: { n:"BrtMergeCell", f:parse_BrtMergeCell }, + /*::[*/0x00B1/*::]*/: { n:"BrtBeginMergeCells", f:parsenoop }, + /*::[*/0x00B2/*::]*/: { n:"BrtEndMergeCells", f:parsenoop }, + /*::[*/0x00B3/*::]*/: { n:"BrtBeginPivotCacheDef", f:parsenoop }, + /*::[*/0x00B4/*::]*/: { n:"BrtEndPivotCacheDef", f:parsenoop }, + /*::[*/0x00B5/*::]*/: { n:"BrtBeginPCDFields", f:parsenoop }, + /*::[*/0x00B6/*::]*/: { n:"BrtEndPCDFields", f:parsenoop }, + /*::[*/0x00B7/*::]*/: { n:"BrtBeginPCDField", f:parsenoop }, + /*::[*/0x00B8/*::]*/: { n:"BrtEndPCDField", f:parsenoop }, + /*::[*/0x00B9/*::]*/: { n:"BrtBeginPCDSource", f:parsenoop }, + /*::[*/0x00BA/*::]*/: { n:"BrtEndPCDSource", f:parsenoop }, + /*::[*/0x00BB/*::]*/: { n:"BrtBeginPCDSRange", f:parsenoop }, + /*::[*/0x00BC/*::]*/: { n:"BrtEndPCDSRange", f:parsenoop }, + /*::[*/0x00BD/*::]*/: { n:"BrtBeginPCDFAtbl", f:parsenoop }, + /*::[*/0x00BE/*::]*/: { n:"BrtEndPCDFAtbl", f:parsenoop }, + /*::[*/0x00BF/*::]*/: { n:"BrtBeginPCDIRun", f:parsenoop }, + /*::[*/0x00C0/*::]*/: { n:"BrtEndPCDIRun", f:parsenoop }, + /*::[*/0x00C1/*::]*/: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, + /*::[*/0x00C2/*::]*/: { n:"BrtEndPivotCacheRecords", f:parsenoop }, + /*::[*/0x00C3/*::]*/: { n:"BrtBeginPCDHierarchies", f:parsenoop }, + /*::[*/0x00C4/*::]*/: { n:"BrtEndPCDHierarchies", f:parsenoop }, + /*::[*/0x00C5/*::]*/: { n:"BrtBeginPCDHierarchy", f:parsenoop }, + /*::[*/0x00C6/*::]*/: { n:"BrtEndPCDHierarchy", f:parsenoop }, + /*::[*/0x00C7/*::]*/: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, + /*::[*/0x00C8/*::]*/: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, + /*::[*/0x00C9/*::]*/: { n:"BrtBeginExtConnection", f:parsenoop }, + /*::[*/0x00CA/*::]*/: { n:"BrtEndExtConnection", f:parsenoop }, + /*::[*/0x00CB/*::]*/: { n:"BrtBeginECDbProps", f:parsenoop }, + /*::[*/0x00CC/*::]*/: { n:"BrtEndECDbProps", f:parsenoop }, + /*::[*/0x00CD/*::]*/: { n:"BrtBeginECOlapProps", f:parsenoop }, + /*::[*/0x00CE/*::]*/: { n:"BrtEndECOlapProps", f:parsenoop }, + /*::[*/0x00CF/*::]*/: { n:"BrtBeginPCDSConsol", f:parsenoop }, + /*::[*/0x00D0/*::]*/: { n:"BrtEndPCDSConsol", f:parsenoop }, + /*::[*/0x00D1/*::]*/: { n:"BrtBeginPCDSCPages", f:parsenoop }, + /*::[*/0x00D2/*::]*/: { n:"BrtEndPCDSCPages", f:parsenoop }, + /*::[*/0x00D3/*::]*/: { n:"BrtBeginPCDSCPage", f:parsenoop }, + /*::[*/0x00D4/*::]*/: { n:"BrtEndPCDSCPage", f:parsenoop }, + /*::[*/0x00D5/*::]*/: { n:"BrtBeginPCDSCPItem", f:parsenoop }, + /*::[*/0x00D6/*::]*/: { n:"BrtEndPCDSCPItem", f:parsenoop }, + /*::[*/0x00D7/*::]*/: { n:"BrtBeginPCDSCSets", f:parsenoop }, + /*::[*/0x00D8/*::]*/: { n:"BrtEndPCDSCSets", f:parsenoop }, + /*::[*/0x00D9/*::]*/: { n:"BrtBeginPCDSCSet", f:parsenoop }, + /*::[*/0x00DA/*::]*/: { n:"BrtEndPCDSCSet", f:parsenoop }, + /*::[*/0x00DB/*::]*/: { n:"BrtBeginPCDFGroup", f:parsenoop }, + /*::[*/0x00DC/*::]*/: { n:"BrtEndPCDFGroup", f:parsenoop }, + /*::[*/0x00DD/*::]*/: { n:"BrtBeginPCDFGItems", f:parsenoop }, + /*::[*/0x00DE/*::]*/: { n:"BrtEndPCDFGItems", f:parsenoop }, + /*::[*/0x00DF/*::]*/: { n:"BrtBeginPCDFGRange", f:parsenoop }, + /*::[*/0x00E0/*::]*/: { n:"BrtEndPCDFGRange", f:parsenoop }, + /*::[*/0x00E1/*::]*/: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, + /*::[*/0x00E2/*::]*/: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, + /*::[*/0x00E3/*::]*/: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, + /*::[*/0x00E4/*::]*/: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, + /*::[*/0x00E5/*::]*/: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, + /*::[*/0x00E6/*::]*/: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, + /*::[*/0x00E7/*::]*/: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, + /*::[*/0x00E8/*::]*/: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, + /*::[*/0x00E9/*::]*/: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, + /*::[*/0x00EA/*::]*/: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, + /*::[*/0x00EB/*::]*/: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, + /*::[*/0x00EC/*::]*/: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, + /*::[*/0x00ED/*::]*/: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, + /*::[*/0x00EE/*::]*/: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, + /*::[*/0x00EF/*::]*/: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, + /*::[*/0x00F0/*::]*/: { n:"BrtEndPCDSDTCSets", f:parsenoop }, + /*::[*/0x00F1/*::]*/: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, + /*::[*/0x00F2/*::]*/: { n:"BrtEndPCDSDTCSet", f:parsenoop }, + /*::[*/0x00F3/*::]*/: { n:"BrtBeginPCDCalcItems", f:parsenoop }, + /*::[*/0x00F4/*::]*/: { n:"BrtEndPCDCalcItems", f:parsenoop }, + /*::[*/0x00F5/*::]*/: { n:"BrtBeginPCDCalcItem", f:parsenoop }, + /*::[*/0x00F6/*::]*/: { n:"BrtEndPCDCalcItem", f:parsenoop }, + /*::[*/0x00F7/*::]*/: { n:"BrtBeginPRule", f:parsenoop }, + /*::[*/0x00F8/*::]*/: { n:"BrtEndPRule", f:parsenoop }, + /*::[*/0x00F9/*::]*/: { n:"BrtBeginPRFilters", f:parsenoop }, + /*::[*/0x00FA/*::]*/: { n:"BrtEndPRFilters", f:parsenoop }, + /*::[*/0x00FB/*::]*/: { n:"BrtBeginPRFilter", f:parsenoop }, + /*::[*/0x00FC/*::]*/: { n:"BrtEndPRFilter", f:parsenoop }, + /*::[*/0x00FD/*::]*/: { n:"BrtBeginPNames", f:parsenoop }, + /*::[*/0x00FE/*::]*/: { n:"BrtEndPNames", f:parsenoop }, + /*::[*/0x00FF/*::]*/: { n:"BrtBeginPName", f:parsenoop }, + /*::[*/0x0100/*::]*/: { n:"BrtEndPName", f:parsenoop }, + /*::[*/0x0101/*::]*/: { n:"BrtBeginPNPairs", f:parsenoop }, + /*::[*/0x0102/*::]*/: { n:"BrtEndPNPairs", f:parsenoop }, + /*::[*/0x0103/*::]*/: { n:"BrtBeginPNPair", f:parsenoop }, + /*::[*/0x0104/*::]*/: { n:"BrtEndPNPair", f:parsenoop }, + /*::[*/0x0105/*::]*/: { n:"BrtBeginECWebProps", f:parsenoop }, + /*::[*/0x0106/*::]*/: { n:"BrtEndECWebProps", f:parsenoop }, + /*::[*/0x0107/*::]*/: { n:"BrtBeginEcWpTables", f:parsenoop }, + /*::[*/0x0108/*::]*/: { n:"BrtEndECWPTables", f:parsenoop }, + /*::[*/0x0109/*::]*/: { n:"BrtBeginECParams", f:parsenoop }, + /*::[*/0x010A/*::]*/: { n:"BrtEndECParams", f:parsenoop }, + /*::[*/0x010B/*::]*/: { n:"BrtBeginECParam", f:parsenoop }, + /*::[*/0x010C/*::]*/: { n:"BrtEndECParam", f:parsenoop }, + /*::[*/0x010D/*::]*/: { n:"BrtBeginPCDKPIs", f:parsenoop }, + /*::[*/0x010E/*::]*/: { n:"BrtEndPCDKPIs", f:parsenoop }, + /*::[*/0x010F/*::]*/: { n:"BrtBeginPCDKPI", f:parsenoop }, + /*::[*/0x0110/*::]*/: { n:"BrtEndPCDKPI", f:parsenoop }, + /*::[*/0x0111/*::]*/: { n:"BrtBeginDims", f:parsenoop }, + /*::[*/0x0112/*::]*/: { n:"BrtEndDims", f:parsenoop }, + /*::[*/0x0113/*::]*/: { n:"BrtBeginDim", f:parsenoop }, + /*::[*/0x0114/*::]*/: { n:"BrtEndDim", f:parsenoop }, + /*::[*/0x0115/*::]*/: { n:"BrtIndexPartEnd", f:parsenoop }, + /*::[*/0x0116/*::]*/: { n:"BrtBeginStyleSheet", f:parsenoop }, + /*::[*/0x0117/*::]*/: { n:"BrtEndStyleSheet", f:parsenoop }, + /*::[*/0x0118/*::]*/: { n:"BrtBeginSXView", f:parsenoop }, + /*::[*/0x0119/*::]*/: { n:"BrtEndSXVI", f:parsenoop }, + /*::[*/0x011A/*::]*/: { n:"BrtBeginSXVI", f:parsenoop }, + /*::[*/0x011B/*::]*/: { n:"BrtBeginSXVIs", f:parsenoop }, + /*::[*/0x011C/*::]*/: { n:"BrtEndSXVIs", f:parsenoop }, + /*::[*/0x011D/*::]*/: { n:"BrtBeginSXVD", f:parsenoop }, + /*::[*/0x011E/*::]*/: { n:"BrtEndSXVD", f:parsenoop }, + /*::[*/0x011F/*::]*/: { n:"BrtBeginSXVDs", f:parsenoop }, + /*::[*/0x0120/*::]*/: { n:"BrtEndSXVDs", f:parsenoop }, + /*::[*/0x0121/*::]*/: { n:"BrtBeginSXPI", f:parsenoop }, + /*::[*/0x0122/*::]*/: { n:"BrtEndSXPI", f:parsenoop }, + /*::[*/0x0123/*::]*/: { n:"BrtBeginSXPIs", f:parsenoop }, + /*::[*/0x0124/*::]*/: { n:"BrtEndSXPIs", f:parsenoop }, + /*::[*/0x0125/*::]*/: { n:"BrtBeginSXDI", f:parsenoop }, + /*::[*/0x0126/*::]*/: { n:"BrtEndSXDI", f:parsenoop }, + /*::[*/0x0127/*::]*/: { n:"BrtBeginSXDIs", f:parsenoop }, + /*::[*/0x0128/*::]*/: { n:"BrtEndSXDIs", f:parsenoop }, + /*::[*/0x0129/*::]*/: { n:"BrtBeginSXLI", f:parsenoop }, + /*::[*/0x012A/*::]*/: { n:"BrtEndSXLI", f:parsenoop }, + /*::[*/0x012B/*::]*/: { n:"BrtBeginSXLIRws", f:parsenoop }, + /*::[*/0x012C/*::]*/: { n:"BrtEndSXLIRws", f:parsenoop }, + /*::[*/0x012D/*::]*/: { n:"BrtBeginSXLICols", f:parsenoop }, + /*::[*/0x012E/*::]*/: { n:"BrtEndSXLICols", f:parsenoop }, + /*::[*/0x012F/*::]*/: { n:"BrtBeginSXFormat", f:parsenoop }, + /*::[*/0x0130/*::]*/: { n:"BrtEndSXFormat", f:parsenoop }, + /*::[*/0x0131/*::]*/: { n:"BrtBeginSXFormats", f:parsenoop }, + /*::[*/0x0132/*::]*/: { n:"BrtEndSxFormats", f:parsenoop }, + /*::[*/0x0133/*::]*/: { n:"BrtBeginSxSelect", f:parsenoop }, + /*::[*/0x0134/*::]*/: { n:"BrtEndSxSelect", f:parsenoop }, + /*::[*/0x0135/*::]*/: { n:"BrtBeginISXVDRws", f:parsenoop }, + /*::[*/0x0136/*::]*/: { n:"BrtEndISXVDRws", f:parsenoop }, + /*::[*/0x0137/*::]*/: { n:"BrtBeginISXVDCols", f:parsenoop }, + /*::[*/0x0138/*::]*/: { n:"BrtEndISXVDCols", f:parsenoop }, + /*::[*/0x0139/*::]*/: { n:"BrtEndSXLocation", f:parsenoop }, + /*::[*/0x013A/*::]*/: { n:"BrtBeginSXLocation", f:parsenoop }, + /*::[*/0x013B/*::]*/: { n:"BrtEndSXView", f:parsenoop }, + /*::[*/0x013C/*::]*/: { n:"BrtBeginSXTHs", f:parsenoop }, + /*::[*/0x013D/*::]*/: { n:"BrtEndSXTHs", f:parsenoop }, + /*::[*/0x013E/*::]*/: { n:"BrtBeginSXTH", f:parsenoop }, + /*::[*/0x013F/*::]*/: { n:"BrtEndSXTH", f:parsenoop }, + /*::[*/0x0140/*::]*/: { n:"BrtBeginISXTHRws", f:parsenoop }, + /*::[*/0x0141/*::]*/: { n:"BrtEndISXTHRws", f:parsenoop }, + /*::[*/0x0142/*::]*/: { n:"BrtBeginISXTHCols", f:parsenoop }, + /*::[*/0x0143/*::]*/: { n:"BrtEndISXTHCols", f:parsenoop }, + /*::[*/0x0144/*::]*/: { n:"BrtBeginSXTDMPS", f:parsenoop }, + /*::[*/0x0145/*::]*/: { n:"BrtEndSXTDMPs", f:parsenoop }, + /*::[*/0x0146/*::]*/: { n:"BrtBeginSXTDMP", f:parsenoop }, + /*::[*/0x0147/*::]*/: { n:"BrtEndSXTDMP", f:parsenoop }, + /*::[*/0x0148/*::]*/: { n:"BrtBeginSXTHItems", f:parsenoop }, + /*::[*/0x0149/*::]*/: { n:"BrtEndSXTHItems", f:parsenoop }, + /*::[*/0x014A/*::]*/: { n:"BrtBeginSXTHItem", f:parsenoop }, + /*::[*/0x014B/*::]*/: { n:"BrtEndSXTHItem", f:parsenoop }, + /*::[*/0x014C/*::]*/: { n:"BrtBeginMetadata", f:parsenoop }, + /*::[*/0x014D/*::]*/: { n:"BrtEndMetadata", f:parsenoop }, + /*::[*/0x014E/*::]*/: { n:"BrtBeginEsmdtinfo", f:parsenoop }, + /*::[*/0x014F/*::]*/: { n:"BrtMdtinfo", f:parsenoop }, + /*::[*/0x0150/*::]*/: { n:"BrtEndEsmdtinfo", f:parsenoop }, + /*::[*/0x0151/*::]*/: { n:"BrtBeginEsmdb", f:parsenoop }, + /*::[*/0x0152/*::]*/: { n:"BrtEndEsmdb", f:parsenoop }, + /*::[*/0x0153/*::]*/: { n:"BrtBeginEsfmd", f:parsenoop }, + /*::[*/0x0154/*::]*/: { n:"BrtEndEsfmd", f:parsenoop }, + /*::[*/0x0155/*::]*/: { n:"BrtBeginSingleCells", f:parsenoop }, + /*::[*/0x0156/*::]*/: { n:"BrtEndSingleCells", f:parsenoop }, + /*::[*/0x0157/*::]*/: { n:"BrtBeginList", f:parsenoop }, + /*::[*/0x0158/*::]*/: { n:"BrtEndList", f:parsenoop }, + /*::[*/0x0159/*::]*/: { n:"BrtBeginListCols", f:parsenoop }, + /*::[*/0x015A/*::]*/: { n:"BrtEndListCols", f:parsenoop }, + /*::[*/0x015B/*::]*/: { n:"BrtBeginListCol", f:parsenoop }, + /*::[*/0x015C/*::]*/: { n:"BrtEndListCol", f:parsenoop }, + /*::[*/0x015D/*::]*/: { n:"BrtBeginListXmlCPr", f:parsenoop }, + /*::[*/0x015E/*::]*/: { n:"BrtEndListXmlCPr", f:parsenoop }, + /*::[*/0x015F/*::]*/: { n:"BrtListCCFmla", f:parsenoop }, + /*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop }, + /*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop }, + /*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop }, + /*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parsenoop }, + /*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop }, + /*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop }, + /*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop }, + /*::[*/0x0168/*::]*/: { n:"BrtBeginSupBook", f:parsenoop }, + /*::[*/0x0169/*::]*/: { n:"BrtPlaceholderName", f:parsenoop }, + /*::[*/0x016A/*::]*/: { n:"BrtExternSheet", f:parsenoop }, + /*::[*/0x016B/*::]*/: { n:"BrtExternTableStart", f:parsenoop }, + /*::[*/0x016C/*::]*/: { n:"BrtExternTableEnd", f:parsenoop }, + /*::[*/0x016E/*::]*/: { n:"BrtExternRowHdr", f:parsenoop }, + /*::[*/0x016F/*::]*/: { n:"BrtExternCellBlank", f:parsenoop }, + /*::[*/0x0170/*::]*/: { n:"BrtExternCellReal", f:parsenoop }, + /*::[*/0x0171/*::]*/: { n:"BrtExternCellBool", f:parsenoop }, + /*::[*/0x0172/*::]*/: { n:"BrtExternCellError", f:parsenoop }, + /*::[*/0x0173/*::]*/: { n:"BrtExternCellString", f:parsenoop }, + /*::[*/0x0174/*::]*/: { n:"BrtBeginEsmdx", f:parsenoop }, + /*::[*/0x0175/*::]*/: { n:"BrtEndEsmdx", f:parsenoop }, + /*::[*/0x0176/*::]*/: { n:"BrtBeginMdxSet", f:parsenoop }, + /*::[*/0x0177/*::]*/: { n:"BrtEndMdxSet", f:parsenoop }, + /*::[*/0x0178/*::]*/: { n:"BrtBeginMdxMbrProp", f:parsenoop }, + /*::[*/0x0179/*::]*/: { n:"BrtEndMdxMbrProp", f:parsenoop }, + /*::[*/0x017A/*::]*/: { n:"BrtBeginMdxKPI", f:parsenoop }, + /*::[*/0x017B/*::]*/: { n:"BrtEndMdxKPI", f:parsenoop }, + /*::[*/0x017C/*::]*/: { n:"BrtBeginEsstr", f:parsenoop }, + /*::[*/0x017D/*::]*/: { n:"BrtEndEsstr", f:parsenoop }, + /*::[*/0x017E/*::]*/: { n:"BrtBeginPRFItem", f:parsenoop }, + /*::[*/0x017F/*::]*/: { n:"BrtEndPRFItem", f:parsenoop }, + /*::[*/0x0180/*::]*/: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, + /*::[*/0x0181/*::]*/: { n:"BrtEndPivotCacheIDs", f:parsenoop }, + /*::[*/0x0182/*::]*/: { n:"BrtBeginPivotCacheID", f:parsenoop }, + /*::[*/0x0183/*::]*/: { n:"BrtEndPivotCacheID", f:parsenoop }, + /*::[*/0x0184/*::]*/: { n:"BrtBeginISXVIs", f:parsenoop }, + /*::[*/0x0185/*::]*/: { n:"BrtEndISXVIs", f:parsenoop }, + /*::[*/0x0186/*::]*/: { n:"BrtBeginColInfos", f:parsenoop }, + /*::[*/0x0187/*::]*/: { n:"BrtEndColInfos", f:parsenoop }, + /*::[*/0x0188/*::]*/: { n:"BrtBeginRwBrk", f:parsenoop }, + /*::[*/0x0189/*::]*/: { n:"BrtEndRwBrk", f:parsenoop }, + /*::[*/0x018A/*::]*/: { n:"BrtBeginColBrk", f:parsenoop }, + /*::[*/0x018B/*::]*/: { n:"BrtEndColBrk", f:parsenoop }, + /*::[*/0x018C/*::]*/: { n:"BrtBrk", f:parsenoop }, + /*::[*/0x018D/*::]*/: { n:"BrtUserBookView", f:parsenoop }, + /*::[*/0x018E/*::]*/: { n:"BrtInfo", f:parsenoop }, + /*::[*/0x018F/*::]*/: { n:"BrtCUsr", f:parsenoop }, + /*::[*/0x0190/*::]*/: { n:"BrtUsr", f:parsenoop }, + /*::[*/0x0191/*::]*/: { n:"BrtBeginUsers", f:parsenoop }, + /*::[*/0x0193/*::]*/: { n:"BrtEOF", f:parsenoop }, + /*::[*/0x0194/*::]*/: { n:"BrtUCR", f:parsenoop }, + /*::[*/0x0195/*::]*/: { n:"BrtRRInsDel", f:parsenoop }, + /*::[*/0x0196/*::]*/: { n:"BrtRREndInsDel", f:parsenoop }, + /*::[*/0x0197/*::]*/: { n:"BrtRRMove", f:parsenoop }, + /*::[*/0x0198/*::]*/: { n:"BrtRREndMove", f:parsenoop }, + /*::[*/0x0199/*::]*/: { n:"BrtRRChgCell", f:parsenoop }, + /*::[*/0x019A/*::]*/: { n:"BrtRREndChgCell", f:parsenoop }, + /*::[*/0x019B/*::]*/: { n:"BrtRRHeader", f:parsenoop }, + /*::[*/0x019C/*::]*/: { n:"BrtRRUserView", f:parsenoop }, + /*::[*/0x019D/*::]*/: { n:"BrtRRRenSheet", f:parsenoop }, + /*::[*/0x019E/*::]*/: { n:"BrtRRInsertSh", f:parsenoop }, + /*::[*/0x019F/*::]*/: { n:"BrtRRDefName", f:parsenoop }, + /*::[*/0x01A0/*::]*/: { n:"BrtRRNote", f:parsenoop }, + /*::[*/0x01A1/*::]*/: { n:"BrtRRConflict", f:parsenoop }, + /*::[*/0x01A2/*::]*/: { n:"BrtRRTQSIF", f:parsenoop }, + /*::[*/0x01A3/*::]*/: { n:"BrtRRFormat", f:parsenoop }, + /*::[*/0x01A4/*::]*/: { n:"BrtRREndFormat", f:parsenoop }, + /*::[*/0x01A5/*::]*/: { n:"BrtRRAutoFmt", f:parsenoop }, + /*::[*/0x01A6/*::]*/: { n:"BrtBeginUserShViews", f:parsenoop }, + /*::[*/0x01A7/*::]*/: { n:"BrtBeginUserShView", f:parsenoop }, + /*::[*/0x01A8/*::]*/: { n:"BrtEndUserShView", f:parsenoop }, + /*::[*/0x01A9/*::]*/: { n:"BrtEndUserShViews", f:parsenoop }, + /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parsenoop }, + /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parsenoop }, + /*::[*/0x01AC/*::]*/: { n:"BrtTable", f:parsenoop }, + /*::[*/0x01AD/*::]*/: { n:"BrtBeginExtConnections", f:parsenoop }, + /*::[*/0x01AE/*::]*/: { n:"BrtEndExtConnections", f:parsenoop }, + /*::[*/0x01AF/*::]*/: { n:"BrtBeginPCDCalcMems", f:parsenoop }, + /*::[*/0x01B0/*::]*/: { n:"BrtEndPCDCalcMems", f:parsenoop }, + /*::[*/0x01B1/*::]*/: { n:"BrtBeginPCDCalcMem", f:parsenoop }, + /*::[*/0x01B2/*::]*/: { n:"BrtEndPCDCalcMem", f:parsenoop }, + /*::[*/0x01B3/*::]*/: { n:"BrtBeginPCDHGLevels", f:parsenoop }, + /*::[*/0x01B4/*::]*/: { n:"BrtEndPCDHGLevels", f:parsenoop }, + /*::[*/0x01B5/*::]*/: { n:"BrtBeginPCDHGLevel", f:parsenoop }, + /*::[*/0x01B6/*::]*/: { n:"BrtEndPCDHGLevel", f:parsenoop }, + /*::[*/0x01B7/*::]*/: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, + /*::[*/0x01B8/*::]*/: { n:"BrtEndPCDHGLGroups", f:parsenoop }, + /*::[*/0x01B9/*::]*/: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, + /*::[*/0x01BA/*::]*/: { n:"BrtEndPCDHGLGroup", f:parsenoop }, + /*::[*/0x01BB/*::]*/: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, + /*::[*/0x01BC/*::]*/: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, + /*::[*/0x01BD/*::]*/: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, + /*::[*/0x01BE/*::]*/: { n:"BrtEndPCDHGLGMember", f:parsenoop }, + /*::[*/0x01BF/*::]*/: { n:"BrtBeginQSI", f:parsenoop }, + /*::[*/0x01C0/*::]*/: { n:"BrtEndQSI", f:parsenoop }, + /*::[*/0x01C1/*::]*/: { n:"BrtBeginQSIR", f:parsenoop }, + /*::[*/0x01C2/*::]*/: { n:"BrtEndQSIR", f:parsenoop }, + /*::[*/0x01C3/*::]*/: { n:"BrtBeginDeletedNames", f:parsenoop }, + /*::[*/0x01C4/*::]*/: { n:"BrtEndDeletedNames", f:parsenoop }, + /*::[*/0x01C5/*::]*/: { n:"BrtBeginDeletedName", f:parsenoop }, + /*::[*/0x01C6/*::]*/: { n:"BrtEndDeletedName", f:parsenoop }, + /*::[*/0x01C7/*::]*/: { n:"BrtBeginQSIFs", f:parsenoop }, + /*::[*/0x01C8/*::]*/: { n:"BrtEndQSIFs", f:parsenoop }, + /*::[*/0x01C9/*::]*/: { n:"BrtBeginQSIF", f:parsenoop }, + /*::[*/0x01CA/*::]*/: { n:"BrtEndQSIF", f:parsenoop }, + /*::[*/0x01CB/*::]*/: { n:"BrtBeginAutoSortScope", f:parsenoop }, + /*::[*/0x01CC/*::]*/: { n:"BrtEndAutoSortScope", f:parsenoop }, + /*::[*/0x01CD/*::]*/: { n:"BrtBeginConditionalFormatting", f:parsenoop }, + /*::[*/0x01CE/*::]*/: { n:"BrtEndConditionalFormatting", f:parsenoop }, + /*::[*/0x01CF/*::]*/: { n:"BrtBeginCFRule", f:parsenoop }, + /*::[*/0x01D0/*::]*/: { n:"BrtEndCFRule", f:parsenoop }, + /*::[*/0x01D1/*::]*/: { n:"BrtBeginIconSet", f:parsenoop }, + /*::[*/0x01D2/*::]*/: { n:"BrtEndIconSet", f:parsenoop }, + /*::[*/0x01D3/*::]*/: { n:"BrtBeginDatabar", f:parsenoop }, + /*::[*/0x01D4/*::]*/: { n:"BrtEndDatabar", f:parsenoop }, + /*::[*/0x01D5/*::]*/: { n:"BrtBeginColorScale", f:parsenoop }, + /*::[*/0x01D6/*::]*/: { n:"BrtEndColorScale", f:parsenoop }, + /*::[*/0x01D7/*::]*/: { n:"BrtCFVO", f:parsenoop }, + /*::[*/0x01D8/*::]*/: { n:"BrtExternValueMeta", f:parsenoop }, + /*::[*/0x01D9/*::]*/: { n:"BrtBeginColorPalette", f:parsenoop }, + /*::[*/0x01DA/*::]*/: { n:"BrtEndColorPalette", f:parsenoop }, + /*::[*/0x01DB/*::]*/: { n:"BrtIndexedColor", f:parsenoop }, + /*::[*/0x01DC/*::]*/: { n:"BrtMargins", f:parsenoop }, + /*::[*/0x01DD/*::]*/: { n:"BrtPrintOptions", f:parsenoop }, + /*::[*/0x01DE/*::]*/: { n:"BrtPageSetup", f:parsenoop }, + /*::[*/0x01DF/*::]*/: { n:"BrtBeginHeaderFooter", f:parsenoop }, + /*::[*/0x01E0/*::]*/: { n:"BrtEndHeaderFooter", f:parsenoop }, + /*::[*/0x01E1/*::]*/: { n:"BrtBeginSXCrtFormat", f:parsenoop }, + /*::[*/0x01E2/*::]*/: { n:"BrtEndSXCrtFormat", f:parsenoop }, + /*::[*/0x01E3/*::]*/: { n:"BrtBeginSXCrtFormats", f:parsenoop }, + /*::[*/0x01E4/*::]*/: { n:"BrtEndSXCrtFormats", f:parsenoop }, + /*::[*/0x01E5/*::]*/: { n:"BrtWsFmtInfo", f:parsenoop }, + /*::[*/0x01E6/*::]*/: { n:"BrtBeginMgs", f:parsenoop }, + /*::[*/0x01E7/*::]*/: { n:"BrtEndMGs", f:parsenoop }, + /*::[*/0x01E8/*::]*/: { n:"BrtBeginMGMaps", f:parsenoop }, + /*::[*/0x01E9/*::]*/: { n:"BrtEndMGMaps", f:parsenoop }, + /*::[*/0x01EA/*::]*/: { n:"BrtBeginMG", f:parsenoop }, + /*::[*/0x01EB/*::]*/: { n:"BrtEndMG", f:parsenoop }, + /*::[*/0x01EC/*::]*/: { n:"BrtBeginMap", f:parsenoop }, + /*::[*/0x01ED/*::]*/: { n:"BrtEndMap", f:parsenoop }, + /*::[*/0x01EE/*::]*/: { n:"BrtHLink", f:parse_BrtHLink }, + /*::[*/0x01EF/*::]*/: { n:"BrtBeginDCon", f:parsenoop }, + /*::[*/0x01F0/*::]*/: { n:"BrtEndDCon", f:parsenoop }, + /*::[*/0x01F1/*::]*/: { n:"BrtBeginDRefs", f:parsenoop }, + /*::[*/0x01F2/*::]*/: { n:"BrtEndDRefs", f:parsenoop }, + /*::[*/0x01F3/*::]*/: { n:"BrtDRef", f:parsenoop }, + /*::[*/0x01F4/*::]*/: { n:"BrtBeginScenMan", f:parsenoop }, + /*::[*/0x01F5/*::]*/: { n:"BrtEndScenMan", f:parsenoop }, + /*::[*/0x01F6/*::]*/: { n:"BrtBeginSct", f:parsenoop }, + /*::[*/0x01F7/*::]*/: { n:"BrtEndSct", f:parsenoop }, + /*::[*/0x01F8/*::]*/: { n:"BrtSlc", f:parsenoop }, + /*::[*/0x01F9/*::]*/: { n:"BrtBeginDXFs", f:parsenoop }, + /*::[*/0x01FA/*::]*/: { n:"BrtEndDXFs", f:parsenoop }, + /*::[*/0x01FB/*::]*/: { n:"BrtDXF", f:parsenoop }, + /*::[*/0x01FC/*::]*/: { n:"BrtBeginTableStyles", f:parsenoop }, + /*::[*/0x01FD/*::]*/: { n:"BrtEndTableStyles", f:parsenoop }, + /*::[*/0x01FE/*::]*/: { n:"BrtBeginTableStyle", f:parsenoop }, + /*::[*/0x01FF/*::]*/: { n:"BrtEndTableStyle", f:parsenoop }, + /*::[*/0x0200/*::]*/: { n:"BrtTableStyleElement", f:parsenoop }, + /*::[*/0x0201/*::]*/: { n:"BrtTableStyleClient", f:parsenoop }, + /*::[*/0x0202/*::]*/: { n:"BrtBeginVolDeps", f:parsenoop }, + /*::[*/0x0203/*::]*/: { n:"BrtEndVolDeps", f:parsenoop }, + /*::[*/0x0204/*::]*/: { n:"BrtBeginVolType", f:parsenoop }, + /*::[*/0x0205/*::]*/: { n:"BrtEndVolType", f:parsenoop }, + /*::[*/0x0206/*::]*/: { n:"BrtBeginVolMain", f:parsenoop }, + /*::[*/0x0207/*::]*/: { n:"BrtEndVolMain", f:parsenoop }, + /*::[*/0x0208/*::]*/: { n:"BrtBeginVolTopic", f:parsenoop }, + /*::[*/0x0209/*::]*/: { n:"BrtEndVolTopic", f:parsenoop }, + /*::[*/0x020A/*::]*/: { n:"BrtVolSubtopic", f:parsenoop }, + /*::[*/0x020B/*::]*/: { n:"BrtVolRef", f:parsenoop }, + /*::[*/0x020C/*::]*/: { n:"BrtVolNum", f:parsenoop }, + /*::[*/0x020D/*::]*/: { n:"BrtVolErr", f:parsenoop }, + /*::[*/0x020E/*::]*/: { n:"BrtVolStr", f:parsenoop }, + /*::[*/0x020F/*::]*/: { n:"BrtVolBool", f:parsenoop }, + /*::[*/0x0210/*::]*/: { n:"BrtBeginCalcChain$", f:parsenoop }, + /*::[*/0x0211/*::]*/: { n:"BrtEndCalcChain$", f:parsenoop }, + /*::[*/0x0212/*::]*/: { n:"BrtBeginSortState", f:parsenoop }, + /*::[*/0x0213/*::]*/: { n:"BrtEndSortState", f:parsenoop }, + /*::[*/0x0214/*::]*/: { n:"BrtBeginSortCond", f:parsenoop }, + /*::[*/0x0215/*::]*/: { n:"BrtEndSortCond", f:parsenoop }, + /*::[*/0x0216/*::]*/: { n:"BrtBookProtection", f:parsenoop }, + /*::[*/0x0217/*::]*/: { n:"BrtSheetProtection", f:parsenoop }, + /*::[*/0x0218/*::]*/: { n:"BrtRangeProtection", f:parsenoop }, + /*::[*/0x0219/*::]*/: { n:"BrtPhoneticInfo", f:parsenoop }, + /*::[*/0x021A/*::]*/: { n:"BrtBeginECTxtWiz", f:parsenoop }, + /*::[*/0x021B/*::]*/: { n:"BrtEndECTxtWiz", f:parsenoop }, + /*::[*/0x021C/*::]*/: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, + /*::[*/0x021D/*::]*/: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, + /*::[*/0x021E/*::]*/: { n:"BrtBeginECTwFldInfo", f:parsenoop }, + /*::[*/0x0224/*::]*/: { n:"BrtFileSharing", f:parsenoop }, + /*::[*/0x0225/*::]*/: { n:"BrtOleSize", f:parsenoop }, + /*::[*/0x0226/*::]*/: { n:"BrtDrawing", f:parsenoop }, + /*::[*/0x0227/*::]*/: { n:"BrtLegacyDrawing", f:parsenoop }, + /*::[*/0x0228/*::]*/: { n:"BrtLegacyDrawingHF", f:parsenoop }, + /*::[*/0x0229/*::]*/: { n:"BrtWebOpt", f:parsenoop }, + /*::[*/0x022A/*::]*/: { n:"BrtBeginWebPubItems", f:parsenoop }, + /*::[*/0x022B/*::]*/: { n:"BrtEndWebPubItems", f:parsenoop }, + /*::[*/0x022C/*::]*/: { n:"BrtBeginWebPubItem", f:parsenoop }, + /*::[*/0x022D/*::]*/: { n:"BrtEndWebPubItem", f:parsenoop }, + /*::[*/0x022E/*::]*/: { n:"BrtBeginSXCondFmt", f:parsenoop }, + /*::[*/0x022F/*::]*/: { n:"BrtEndSXCondFmt", f:parsenoop }, + /*::[*/0x0230/*::]*/: { n:"BrtBeginSXCondFmts", f:parsenoop }, + /*::[*/0x0231/*::]*/: { n:"BrtEndSXCondFmts", f:parsenoop }, + /*::[*/0x0232/*::]*/: { n:"BrtBkHim", f:parsenoop }, + /*::[*/0x0234/*::]*/: { n:"BrtColor", f:parsenoop }, + /*::[*/0x0235/*::]*/: { n:"BrtBeginIndexedColors", f:parsenoop }, + /*::[*/0x0236/*::]*/: { n:"BrtEndIndexedColors", f:parsenoop }, + /*::[*/0x0239/*::]*/: { n:"BrtBeginMRUColors", f:parsenoop }, + /*::[*/0x023A/*::]*/: { n:"BrtEndMRUColors", f:parsenoop }, + /*::[*/0x023C/*::]*/: { n:"BrtMRUColor", f:parsenoop }, + /*::[*/0x023D/*::]*/: { n:"BrtBeginDVals", f:parsenoop }, + /*::[*/0x023E/*::]*/: { n:"BrtEndDVals", f:parsenoop }, + /*::[*/0x0241/*::]*/: { n:"BrtSupNameStart", f:parsenoop }, + /*::[*/0x0242/*::]*/: { n:"BrtSupNameValueStart", f:parsenoop }, + /*::[*/0x0243/*::]*/: { n:"BrtSupNameValueEnd", f:parsenoop }, + /*::[*/0x0244/*::]*/: { n:"BrtSupNameNum", f:parsenoop }, + /*::[*/0x0245/*::]*/: { n:"BrtSupNameErr", f:parsenoop }, + /*::[*/0x0246/*::]*/: { n:"BrtSupNameSt", f:parsenoop }, + /*::[*/0x0247/*::]*/: { n:"BrtSupNameNil", f:parsenoop }, + /*::[*/0x0248/*::]*/: { n:"BrtSupNameBool", f:parsenoop }, + /*::[*/0x0249/*::]*/: { n:"BrtSupNameFmla", f:parsenoop }, + /*::[*/0x024A/*::]*/: { n:"BrtSupNameBits", f:parsenoop }, + /*::[*/0x024B/*::]*/: { n:"BrtSupNameEnd", f:parsenoop }, + /*::[*/0x024C/*::]*/: { n:"BrtEndSupBook", f:parsenoop }, + /*::[*/0x024D/*::]*/: { n:"BrtCellSmartTagProperty", f:parsenoop }, + /*::[*/0x024E/*::]*/: { n:"BrtBeginCellSmartTag", f:parsenoop }, + /*::[*/0x024F/*::]*/: { n:"BrtEndCellSmartTag", f:parsenoop }, + /*::[*/0x0250/*::]*/: { n:"BrtBeginCellSmartTags", f:parsenoop }, + /*::[*/0x0251/*::]*/: { n:"BrtEndCellSmartTags", f:parsenoop }, + /*::[*/0x0252/*::]*/: { n:"BrtBeginSmartTags", f:parsenoop }, + /*::[*/0x0253/*::]*/: { n:"BrtEndSmartTags", f:parsenoop }, + /*::[*/0x0254/*::]*/: { n:"BrtSmartTagType", f:parsenoop }, + /*::[*/0x0255/*::]*/: { n:"BrtBeginSmartTagTypes", f:parsenoop }, + /*::[*/0x0256/*::]*/: { n:"BrtEndSmartTagTypes", f:parsenoop }, + /*::[*/0x0257/*::]*/: { n:"BrtBeginSXFilters", f:parsenoop }, + /*::[*/0x0258/*::]*/: { n:"BrtEndSXFilters", f:parsenoop }, + /*::[*/0x0259/*::]*/: { n:"BrtBeginSXFILTER", f:parsenoop }, + /*::[*/0x025A/*::]*/: { n:"BrtEndSXFilter", f:parsenoop }, + /*::[*/0x025B/*::]*/: { n:"BrtBeginFills", f:parsenoop }, + /*::[*/0x025C/*::]*/: { n:"BrtEndFills", f:parsenoop }, + /*::[*/0x025D/*::]*/: { n:"BrtBeginCellWatches", f:parsenoop }, + /*::[*/0x025E/*::]*/: { n:"BrtEndCellWatches", f:parsenoop }, + /*::[*/0x025F/*::]*/: { n:"BrtCellWatch", f:parsenoop }, + /*::[*/0x0260/*::]*/: { n:"BrtBeginCRErrs", f:parsenoop }, + /*::[*/0x0261/*::]*/: { n:"BrtEndCRErrs", f:parsenoop }, + /*::[*/0x0262/*::]*/: { n:"BrtCrashRecErr", f:parsenoop }, + /*::[*/0x0263/*::]*/: { n:"BrtBeginFonts", f:parsenoop }, + /*::[*/0x0264/*::]*/: { n:"BrtEndFonts", f:parsenoop }, + /*::[*/0x0265/*::]*/: { n:"BrtBeginBorders", f:parsenoop }, + /*::[*/0x0266/*::]*/: { n:"BrtEndBorders", f:parsenoop }, + /*::[*/0x0267/*::]*/: { n:"BrtBeginFmts", f:parsenoop }, + /*::[*/0x0268/*::]*/: { n:"BrtEndFmts", f:parsenoop }, + /*::[*/0x0269/*::]*/: { n:"BrtBeginCellXFs", f:parsenoop }, + /*::[*/0x026A/*::]*/: { n:"BrtEndCellXFs", f:parsenoop }, + /*::[*/0x026B/*::]*/: { n:"BrtBeginStyles", f:parsenoop }, + /*::[*/0x026C/*::]*/: { n:"BrtEndStyles", f:parsenoop }, + /*::[*/0x0271/*::]*/: { n:"BrtBigName", f:parsenoop }, + /*::[*/0x0272/*::]*/: { n:"BrtBeginCellStyleXFs", f:parsenoop }, + /*::[*/0x0273/*::]*/: { n:"BrtEndCellStyleXFs", f:parsenoop }, + /*::[*/0x0274/*::]*/: { n:"BrtBeginComments", f:parsenoop }, + /*::[*/0x0275/*::]*/: { n:"BrtEndComments", f:parsenoop }, + /*::[*/0x0276/*::]*/: { n:"BrtBeginCommentAuthors", f:parsenoop }, + /*::[*/0x0277/*::]*/: { n:"BrtEndCommentAuthors", f:parsenoop }, + /*::[*/0x0278/*::]*/: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, + /*::[*/0x0279/*::]*/: { n:"BrtBeginCommentList", f:parsenoop }, + /*::[*/0x027A/*::]*/: { n:"BrtEndCommentList", f:parsenoop }, + /*::[*/0x027B/*::]*/: { n:"BrtBeginComment", f:parse_BrtBeginComment}, + /*::[*/0x027C/*::]*/: { n:"BrtEndComment", f:parsenoop }, + /*::[*/0x027D/*::]*/: { n:"BrtCommentText", f:parse_BrtCommentText }, + /*::[*/0x027E/*::]*/: { n:"BrtBeginOleObjects", f:parsenoop }, + /*::[*/0x027F/*::]*/: { n:"BrtOleObject", f:parsenoop }, + /*::[*/0x0280/*::]*/: { n:"BrtEndOleObjects", f:parsenoop }, + /*::[*/0x0281/*::]*/: { n:"BrtBeginSxrules", f:parsenoop }, + /*::[*/0x0282/*::]*/: { n:"BrtEndSxRules", f:parsenoop }, + /*::[*/0x0283/*::]*/: { n:"BrtBeginActiveXControls", f:parsenoop }, + /*::[*/0x0284/*::]*/: { n:"BrtActiveX", f:parsenoop }, + /*::[*/0x0285/*::]*/: { n:"BrtEndActiveXControls", f:parsenoop }, + /*::[*/0x0286/*::]*/: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, + /*::[*/0x0288/*::]*/: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, + /*::[*/0x0289/*::]*/: { n:"BrtCellIgnoreEC", f:parsenoop }, + /*::[*/0x028A/*::]*/: { n:"BrtEndCellIgnoreECs", f:parsenoop }, + /*::[*/0x028B/*::]*/: { n:"BrtCsProp", f:parsenoop }, + /*::[*/0x028C/*::]*/: { n:"BrtCsPageSetup", f:parsenoop }, + /*::[*/0x028D/*::]*/: { n:"BrtBeginUserCsViews", f:parsenoop }, + /*::[*/0x028E/*::]*/: { n:"BrtEndUserCsViews", f:parsenoop }, + /*::[*/0x028F/*::]*/: { n:"BrtBeginUserCsView", f:parsenoop }, + /*::[*/0x0290/*::]*/: { n:"BrtEndUserCsView", f:parsenoop }, + /*::[*/0x0291/*::]*/: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, + /*::[*/0x0292/*::]*/: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, + /*::[*/0x0293/*::]*/: { n:"BrtPCDSFCIEntry", f:parsenoop }, + /*::[*/0x0294/*::]*/: { n:"BrtBeginListParts", f:parsenoop }, + /*::[*/0x0295/*::]*/: { n:"BrtListPart", f:parsenoop }, + /*::[*/0x0296/*::]*/: { n:"BrtEndListParts", f:parsenoop }, + /*::[*/0x0297/*::]*/: { n:"BrtSheetCalcProp", f:parsenoop }, + /*::[*/0x0298/*::]*/: { n:"BrtBeginFnGroup", f:parsenoop }, + /*::[*/0x0299/*::]*/: { n:"BrtFnGroup", f:parsenoop }, + /*::[*/0x029A/*::]*/: { n:"BrtEndFnGroup", f:parsenoop }, + /*::[*/0x029B/*::]*/: { n:"BrtSupAddin", f:parsenoop }, + /*::[*/0x029C/*::]*/: { n:"BrtSXTDMPOrder", f:parsenoop }, + /*::[*/0x029D/*::]*/: { n:"BrtCsProtection", f:parsenoop }, + /*::[*/0x029F/*::]*/: { n:"BrtBeginWsSortMap", f:parsenoop }, + /*::[*/0x02A0/*::]*/: { n:"BrtEndWsSortMap", f:parsenoop }, + /*::[*/0x02A1/*::]*/: { n:"BrtBeginRRSort", f:parsenoop }, + /*::[*/0x02A2/*::]*/: { n:"BrtEndRRSort", f:parsenoop }, + /*::[*/0x02A3/*::]*/: { n:"BrtRRSortItem", f:parsenoop }, + /*::[*/0x02A4/*::]*/: { n:"BrtFileSharingIso", f:parsenoop }, + /*::[*/0x02A5/*::]*/: { n:"BrtBookProtectionIso", f:parsenoop }, + /*::[*/0x02A6/*::]*/: { n:"BrtSheetProtectionIso", f:parsenoop }, + /*::[*/0x02A7/*::]*/: { n:"BrtCsProtectionIso", f:parsenoop }, + /*::[*/0x02A8/*::]*/: { n:"BrtRangeProtectionIso", f:parsenoop }, + /*::[*/0x0400/*::]*/: { n:"BrtRwDescent", f:parsenoop }, + /*::[*/0x0401/*::]*/: { n:"BrtKnownFonts", f:parsenoop }, + /*::[*/0x0402/*::]*/: { n:"BrtBeginSXTupleSet", f:parsenoop }, + /*::[*/0x0403/*::]*/: { n:"BrtEndSXTupleSet", f:parsenoop }, + /*::[*/0x0404/*::]*/: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, + /*::[*/0x0405/*::]*/: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, + /*::[*/0x0406/*::]*/: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, + /*::[*/0x0407/*::]*/: { n:"BrtBeginSXTupleSetData", f:parsenoop }, + /*::[*/0x0408/*::]*/: { n:"BrtEndSXTupleSetData", f:parsenoop }, + /*::[*/0x0409/*::]*/: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, + /*::[*/0x040A/*::]*/: { n:"BrtEndSXTupleSetRow", f:parsenoop }, + /*::[*/0x040B/*::]*/: { n:"BrtSXTupleSetRowItem", f:parsenoop }, + /*::[*/0x040C/*::]*/: { n:"BrtNameExt", f:parsenoop }, + /*::[*/0x040D/*::]*/: { n:"BrtPCDH14", f:parsenoop }, + /*::[*/0x040E/*::]*/: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, + /*::[*/0x040F/*::]*/: { n:"BrtEndPCDCalcMem14", f:parsenoop }, + /*::[*/0x0410/*::]*/: { n:"BrtSXTH14", f:parsenoop }, + /*::[*/0x0411/*::]*/: { n:"BrtBeginSparklineGroup", f:parsenoop }, + /*::[*/0x0412/*::]*/: { n:"BrtEndSparklineGroup", f:parsenoop }, + /*::[*/0x0413/*::]*/: { n:"BrtSparkline", f:parsenoop }, + /*::[*/0x0414/*::]*/: { n:"BrtSXDI14", f:parsenoop }, + /*::[*/0x0415/*::]*/: { n:"BrtWsFmtInfoEx14", f:parsenoop }, + /*::[*/0x0416/*::]*/: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, + /*::[*/0x0417/*::]*/: { n:"BrtEndConditionalFormatting14", f:parsenoop }, + /*::[*/0x0418/*::]*/: { n:"BrtBeginCFRule14", f:parsenoop }, + /*::[*/0x0419/*::]*/: { n:"BrtEndCFRule14", f:parsenoop }, + /*::[*/0x041A/*::]*/: { n:"BrtCFVO14", f:parsenoop }, + /*::[*/0x041B/*::]*/: { n:"BrtBeginDatabar14", f:parsenoop }, + /*::[*/0x041C/*::]*/: { n:"BrtBeginIconSet14", f:parsenoop }, + /*::[*/0x041D/*::]*/: { n:"BrtDVal14", f:parsenoop }, + /*::[*/0x041E/*::]*/: { n:"BrtBeginDVals14", f:parsenoop }, + /*::[*/0x041F/*::]*/: { n:"BrtColor14", f:parsenoop }, + /*::[*/0x0420/*::]*/: { n:"BrtBeginSparklines", f:parsenoop }, + /*::[*/0x0421/*::]*/: { n:"BrtEndSparklines", f:parsenoop }, + /*::[*/0x0422/*::]*/: { n:"BrtBeginSparklineGroups", f:parsenoop }, + /*::[*/0x0423/*::]*/: { n:"BrtEndSparklineGroups", f:parsenoop }, + /*::[*/0x0425/*::]*/: { n:"BrtSXVD14", f:parsenoop }, + /*::[*/0x0426/*::]*/: { n:"BrtBeginSxview14", f:parsenoop }, + /*::[*/0x0427/*::]*/: { n:"BrtEndSxview14", f:parsenoop }, + /*::[*/0x042A/*::]*/: { n:"BrtBeginPCD14", f:parsenoop }, + /*::[*/0x042B/*::]*/: { n:"BrtEndPCD14", f:parsenoop }, + /*::[*/0x042C/*::]*/: { n:"BrtBeginExtConn14", f:parsenoop }, + /*::[*/0x042D/*::]*/: { n:"BrtEndExtConn14", f:parsenoop }, + /*::[*/0x042E/*::]*/: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, + /*::[*/0x042F/*::]*/: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, + /*::[*/0x0430/*::]*/: { n:"BrtBeginSlicerCacheID", f:parsenoop }, + /*::[*/0x0431/*::]*/: { n:"BrtEndSlicerCacheID", f:parsenoop }, + /*::[*/0x0433/*::]*/: { n:"BrtBeginSlicerCache", f:parsenoop }, + /*::[*/0x0434/*::]*/: { n:"BrtEndSlicerCache", f:parsenoop }, + /*::[*/0x0435/*::]*/: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, + /*::[*/0x0436/*::]*/: { n:"BrtEndSlicerCacheDef", f:parsenoop }, + /*::[*/0x0437/*::]*/: { n:"BrtBeginSlicersEx", f:parsenoop }, + /*::[*/0x0438/*::]*/: { n:"BrtEndSlicersEx", f:parsenoop }, + /*::[*/0x0439/*::]*/: { n:"BrtBeginSlicerEx", f:parsenoop }, + /*::[*/0x043A/*::]*/: { n:"BrtEndSlicerEx", f:parsenoop }, + /*::[*/0x043B/*::]*/: { n:"BrtBeginSlicer", f:parsenoop }, + /*::[*/0x043C/*::]*/: { n:"BrtEndSlicer", f:parsenoop }, + /*::[*/0x043D/*::]*/: { n:"BrtSlicerCachePivotTables", f:parsenoop }, + /*::[*/0x043E/*::]*/: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, + /*::[*/0x043F/*::]*/: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, + /*::[*/0x0440/*::]*/: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, + /*::[*/0x0441/*::]*/: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, + /*::[*/0x0442/*::]*/: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, + /*::[*/0x0443/*::]*/: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, + /*::[*/0x0444/*::]*/: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, + /*::[*/0x0445/*::]*/: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, + /*::[*/0x0446/*::]*/: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, + /*::[*/0x0447/*::]*/: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, + /*::[*/0x0448/*::]*/: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, + /*::[*/0x0449/*::]*/: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, + /*::[*/0x044A/*::]*/: { n:"BrtSlicerCacheSelection", f:parsenoop }, + /*::[*/0x044B/*::]*/: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, + /*::[*/0x044C/*::]*/: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, + /*::[*/0x044D/*::]*/: { n:"BrtEndSlicerCacheNative", f:parsenoop }, + /*::[*/0x044E/*::]*/: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, + /*::[*/0x044F/*::]*/: { n:"BrtRangeProtection14", f:parsenoop }, + /*::[*/0x0450/*::]*/: { n:"BrtRangeProtectionIso14", f:parsenoop }, + /*::[*/0x0451/*::]*/: { n:"BrtCellIgnoreEC14", f:parsenoop }, + /*::[*/0x0457/*::]*/: { n:"BrtList14", f:parsenoop }, + /*::[*/0x0458/*::]*/: { n:"BrtCFIcon", f:parsenoop }, + /*::[*/0x0459/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, + /*::[*/0x045A/*::]*/: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, + /*::[*/0x045B/*::]*/: { n:"BrtBeginSlicers", f:parsenoop }, + /*::[*/0x045C/*::]*/: { n:"BrtEndSlicers", f:parsenoop }, + /*::[*/0x045D/*::]*/: { n:"BrtWbProp14", f:parsenoop }, + /*::[*/0x045E/*::]*/: { n:"BrtBeginSXEdit", f:parsenoop }, + /*::[*/0x045F/*::]*/: { n:"BrtEndSXEdit", f:parsenoop }, + /*::[*/0x0460/*::]*/: { n:"BrtBeginSXEdits", f:parsenoop }, + /*::[*/0x0461/*::]*/: { n:"BrtEndSXEdits", f:parsenoop }, + /*::[*/0x0462/*::]*/: { n:"BrtBeginSXChange", f:parsenoop }, + /*::[*/0x0463/*::]*/: { n:"BrtEndSXChange", f:parsenoop }, + /*::[*/0x0464/*::]*/: { n:"BrtBeginSXChanges", f:parsenoop }, + /*::[*/0x0465/*::]*/: { n:"BrtEndSXChanges", f:parsenoop }, + /*::[*/0x0466/*::]*/: { n:"BrtSXTupleItems", f:parsenoop }, + /*::[*/0x0468/*::]*/: { n:"BrtBeginSlicerStyle", f:parsenoop }, + /*::[*/0x0469/*::]*/: { n:"BrtEndSlicerStyle", f:parsenoop }, + /*::[*/0x046A/*::]*/: { n:"BrtSlicerStyleElement", f:parsenoop }, + /*::[*/0x046B/*::]*/: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, + /*::[*/0x046C/*::]*/: { n:"BrtEndStyleSheetExt14", f:parsenoop }, + /*::[*/0x046D/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, + /*::[*/0x046E/*::]*/: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, + /*::[*/0x046F/*::]*/: { n:"BrtBeginConditionalFormattings", f:parsenoop }, + /*::[*/0x0470/*::]*/: { n:"BrtEndConditionalFormattings", f:parsenoop }, + /*::[*/0x0471/*::]*/: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, + /*::[*/0x0472/*::]*/: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, + /*::[*/0x0473/*::]*/: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, + /*::[*/0x0474/*::]*/: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, + /*::[*/0x0475/*::]*/: { n:"BrtPCDField14", f:parsenoop }, + /*::[*/0x0476/*::]*/: { n:"BrtBeginSlicerStyles", f:parsenoop }, + /*::[*/0x0477/*::]*/: { n:"BrtEndSlicerStyles", f:parsenoop }, + /*::[*/0x0478/*::]*/: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, + /*::[*/0x0479/*::]*/: { n:"BrtEndSlicerStyleElements", f:parsenoop }, + /*::[*/0x047A/*::]*/: { n:"BrtCFRuleExt", f:parsenoop }, + /*::[*/0x047B/*::]*/: { n:"BrtBeginSXCondFmt14", f:parsenoop }, + /*::[*/0x047C/*::]*/: { n:"BrtEndSXCondFmt14", f:parsenoop }, + /*::[*/0x047D/*::]*/: { n:"BrtBeginSXCondFmts14", f:parsenoop }, + /*::[*/0x047E/*::]*/: { n:"BrtEndSXCondFmts14", f:parsenoop }, + /*::[*/0x0480/*::]*/: { n:"BrtBeginSortCond14", f:parsenoop }, + /*::[*/0x0481/*::]*/: { n:"BrtEndSortCond14", f:parsenoop }, + /*::[*/0x0482/*::]*/: { n:"BrtEndDVals14", f:parsenoop }, + /*::[*/0x0483/*::]*/: { n:"BrtEndIconSet14", f:parsenoop }, + /*::[*/0x0484/*::]*/: { n:"BrtEndDatabar14", f:parsenoop }, + /*::[*/0x0485/*::]*/: { n:"BrtBeginColorScale14", f:parsenoop }, + /*::[*/0x0486/*::]*/: { n:"BrtEndColorScale14", f:parsenoop }, + /*::[*/0x0487/*::]*/: { n:"BrtBeginSxrules14", f:parsenoop }, + /*::[*/0x0488/*::]*/: { n:"BrtEndSxrules14", f:parsenoop }, + /*::[*/0x0489/*::]*/: { n:"BrtBeginPRule14", f:parsenoop }, + /*::[*/0x048A/*::]*/: { n:"BrtEndPRule14", f:parsenoop }, + /*::[*/0x048B/*::]*/: { n:"BrtBeginPRFilters14", f:parsenoop }, + /*::[*/0x048C/*::]*/: { n:"BrtEndPRFilters14", f:parsenoop }, + /*::[*/0x048D/*::]*/: { n:"BrtBeginPRFilter14", f:parsenoop }, + /*::[*/0x048E/*::]*/: { n:"BrtEndPRFilter14", f:parsenoop }, + /*::[*/0x048F/*::]*/: { n:"BrtBeginPRFItem14", f:parsenoop }, + /*::[*/0x0490/*::]*/: { n:"BrtEndPRFItem14", f:parsenoop }, + /*::[*/0x0491/*::]*/: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, + /*::[*/0x0492/*::]*/: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, + /*::[*/0x0493/*::]*/: { n:"BrtDxf14", f:parsenoop }, + /*::[*/0x0494/*::]*/: { n:"BrtBeginDxF14s", f:parsenoop }, + /*::[*/0x0495/*::]*/: { n:"BrtEndDxf14s", f:parsenoop }, + /*::[*/0x0499/*::]*/: { n:"BrtFilter14", f:parsenoop }, + /*::[*/0x049A/*::]*/: { n:"BrtBeginCustomFilters14", f:parsenoop }, + /*::[*/0x049C/*::]*/: { n:"BrtCustomFilter14", f:parsenoop }, + /*::[*/0x049D/*::]*/: { n:"BrtIconFilter14", f:parsenoop }, + /*::[*/0x049E/*::]*/: { n:"BrtPivotCacheConnectionName", f:parsenoop }, + /*::[*/0x0800/*::]*/: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, + /*::[*/0x0801/*::]*/: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, + /*::[*/0x0802/*::]*/: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, + /*::[*/0x0803/*::]*/: { n:"BrtBeginPivotTableRefs", f:parsenoop }, + /*::[*/0x0804/*::]*/: { n:"BrtEndPivotTableRefs", f:parsenoop }, + /*::[*/0x0805/*::]*/: { n:"BrtPivotTableRef", f:parsenoop }, + /*::[*/0x0806/*::]*/: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, + /*::[*/0x0807/*::]*/: { n:"BrtBeginSxvcells", f:parsenoop }, + /*::[*/0x0808/*::]*/: { n:"BrtEndSxvcells", f:parsenoop }, + /*::[*/0x0809/*::]*/: { n:"BrtBeginSxRow", f:parsenoop }, + /*::[*/0x080A/*::]*/: { n:"BrtEndSxRow", f:parsenoop }, + /*::[*/0x080C/*::]*/: { n:"BrtPcdCalcMem15", f:parsenoop }, + /*::[*/0x0813/*::]*/: { n:"BrtQsi15", f:parsenoop }, + /*::[*/0x0814/*::]*/: { n:"BrtBeginWebExtensions", f:parsenoop }, + /*::[*/0x0815/*::]*/: { n:"BrtEndWebExtensions", f:parsenoop }, + /*::[*/0x0816/*::]*/: { n:"BrtWebExtension", f:parsenoop }, + /*::[*/0x0817/*::]*/: { n:"BrtAbsPath15", f:parsenoop }, + /*::[*/0x0818/*::]*/: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, + /*::[*/0x0819/*::]*/: { n:"BrtEndPivotTableUISettings", f:parsenoop }, + /*::[*/0x081B/*::]*/: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, + /*::[*/0x081C/*::]*/: { n:"BrtTableSlicerCacheID", f:parsenoop }, + /*::[*/0x081D/*::]*/: { n:"BrtBeginTableSlicerCache", f:parsenoop }, + /*::[*/0x081E/*::]*/: { n:"BrtEndTableSlicerCache", f:parsenoop }, + /*::[*/0x081F/*::]*/: { n:"BrtSxFilter15", f:parsenoop }, + /*::[*/0x0820/*::]*/: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, + /*::[*/0x0821/*::]*/: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, + /*::[*/0x0822/*::]*/: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, + /*::[*/0x0823/*::]*/: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, + /*::[*/0x0824/*::]*/: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, + /*::[*/0x0825/*::]*/: { n:"BrtBeginTimelineCacheID", f:parsenoop }, + /*::[*/0x0826/*::]*/: { n:"BrtEndTimelineCacheID", f:parsenoop }, + /*::[*/0x0827/*::]*/: { n:"BrtBeginTimelinesEx", f:parsenoop }, + /*::[*/0x0828/*::]*/: { n:"BrtEndTimelinesEx", f:parsenoop }, + /*::[*/0x0829/*::]*/: { n:"BrtBeginTimelineEx", f:parsenoop }, + /*::[*/0x082A/*::]*/: { n:"BrtEndTimelineEx", f:parsenoop }, + /*::[*/0x082B/*::]*/: { n:"BrtWorkBookPr15", f:parsenoop }, + /*::[*/0x082C/*::]*/: { n:"BrtPCDH15", f:parsenoop }, + /*::[*/0x082D/*::]*/: { n:"BrtBeginTimelineStyle", f:parsenoop }, + /*::[*/0x082E/*::]*/: { n:"BrtEndTimelineStyle", f:parsenoop }, + /*::[*/0x082F/*::]*/: { n:"BrtTimelineStyleElement", f:parsenoop }, + /*::[*/0x0830/*::]*/: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, + /*::[*/0x0831/*::]*/: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, + /*::[*/0x0832/*::]*/: { n:"BrtBeginTimelineStyles", f:parsenoop }, + /*::[*/0x0833/*::]*/: { n:"BrtEndTimelineStyles", f:parsenoop }, + /*::[*/0x0834/*::]*/: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, + /*::[*/0x0835/*::]*/: { n:"BrtEndTimelineStyleElements", f:parsenoop }, + /*::[*/0x0836/*::]*/: { n:"BrtDxf15", f:parsenoop }, + /*::[*/0x0837/*::]*/: { n:"BrtBeginDxfs15", f:parsenoop }, + /*::[*/0x0838/*::]*/: { n:"brtEndDxfs15", f:parsenoop }, + /*::[*/0x0839/*::]*/: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, + /*::[*/0x083A/*::]*/: { n:"BrtBeginItemUniqueNames", f:parsenoop }, + /*::[*/0x083B/*::]*/: { n:"BrtEndItemUniqueNames", f:parsenoop }, + /*::[*/0x083C/*::]*/: { n:"BrtItemUniqueName", f:parsenoop }, + /*::[*/0x083D/*::]*/: { n:"BrtBeginExtConn15", f:parsenoop }, + /*::[*/0x083E/*::]*/: { n:"BrtEndExtConn15", f:parsenoop }, + /*::[*/0x083F/*::]*/: { n:"BrtBeginOledbPr15", f:parsenoop }, + /*::[*/0x0840/*::]*/: { n:"BrtEndOledbPr15", f:parsenoop }, + /*::[*/0x0841/*::]*/: { n:"BrtBeginDataFeedPr15", f:parsenoop }, + /*::[*/0x0842/*::]*/: { n:"BrtEndDataFeedPr15", f:parsenoop }, + /*::[*/0x0843/*::]*/: { n:"BrtTextPr15", f:parsenoop }, + /*::[*/0x0844/*::]*/: { n:"BrtRangePr15", f:parsenoop }, + /*::[*/0x0845/*::]*/: { n:"BrtDbCommand15", f:parsenoop }, + /*::[*/0x0846/*::]*/: { n:"BrtBeginDbTables15", f:parsenoop }, + /*::[*/0x0847/*::]*/: { n:"BrtEndDbTables15", f:parsenoop }, + /*::[*/0x0848/*::]*/: { n:"BrtDbTable15", f:parsenoop }, + /*::[*/0x0849/*::]*/: { n:"BrtBeginDataModel", f:parsenoop }, + /*::[*/0x084A/*::]*/: { n:"BrtEndDataModel", f:parsenoop }, + /*::[*/0x084B/*::]*/: { n:"BrtBeginModelTables", f:parsenoop }, + /*::[*/0x084C/*::]*/: { n:"BrtEndModelTables", f:parsenoop }, + /*::[*/0x084D/*::]*/: { n:"BrtModelTable", f:parsenoop }, + /*::[*/0x084E/*::]*/: { n:"BrtBeginModelRelationships", f:parsenoop }, + /*::[*/0x084F/*::]*/: { n:"BrtEndModelRelationships", f:parsenoop }, + /*::[*/0x0850/*::]*/: { n:"BrtModelRelationship", f:parsenoop }, + /*::[*/0x0851/*::]*/: { n:"BrtBeginECTxtWiz15", f:parsenoop }, + /*::[*/0x0852/*::]*/: { n:"BrtEndECTxtWiz15", f:parsenoop }, + /*::[*/0x0853/*::]*/: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, + /*::[*/0x0854/*::]*/: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, + /*::[*/0x0855/*::]*/: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, + /*::[*/0x0856/*::]*/: { n:"BrtFieldListActiveItem", f:parsenoop }, + /*::[*/0x0857/*::]*/: { n:"BrtPivotCacheIdVersion", f:parsenoop }, + /*::[*/0x0858/*::]*/: { n:"BrtSXDI15", f:parsenoop }, + /*::[*/0xFFFF/*::]*/: { n:"", f:parsenoop } }; var evert_RE = evert_key(XLSBRecordEnum, 'n'); /* [MS-XLS] 2.3 Record Enumeration */ var XLSRecordEnum = { - 0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, - 0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, - 0x0006: { n:"Formula", f:parse_Formula }, - 0x0009: { n:'BOF', f:parse_BOF }, - 0x000a: { n:'EOF', f:parse_EOF }, - 0x000c: { n:"CalcCount", f:parse_CalcCount }, - 0x000d: { n:"CalcMode", f:parse_CalcMode }, - 0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, - 0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, - 0x0010: { n:"CalcDelta", f:parse_CalcDelta }, - 0x0011: { n:"CalcIter", f:parse_CalcIter }, - 0x0012: { n:"Protect", f:parse_Protect }, - 0x0013: { n:"Password", f:parse_Password }, - 0x0014: { n:"Header", f:parse_Header }, - 0x0015: { n:"Footer", f:parse_Footer }, - 0x0017: { n:"ExternSheet", f:parse_ExternSheet }, - 0x0018: { n:"Lbl", f:parse_Lbl }, - 0x0019: { n:"WinProtect", f:parse_WinProtect }, - 0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, - 0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, - 0x001c: { n:"Note", f:parse_Note }, - 0x001d: { n:"Selection", f:parse_Selection }, - 0x0022: { n:"Date1904", f:parse_Date1904 }, - 0x0023: { n:"ExternName", f:parse_ExternName }, - 0x0026: { n:"LeftMargin", f:parse_LeftMargin }, - 0x0027: { n:"RightMargin", f:parse_RightMargin }, - 0x0028: { n:"TopMargin", f:parse_TopMargin }, - 0x0029: { n:"BottomMargin", f:parse_BottomMargin }, - 0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, - 0x002b: { n:"PrintGrid", f:parse_PrintGrid }, - 0x002f: { n:"FilePass", f:parse_FilePass }, - 0x0031: { n:"Font", f:parse_Font }, - 0x0033: { n:"PrintSize", f:parse_PrintSize }, - 0x003c: { n:"Continue", f:parse_Continue }, - 0x003d: { n:"Window1", f:parse_Window1 }, - 0x0040: { n:"Backup", f:parse_Backup }, - 0x0041: { n:"Pane", f:parse_Pane }, - 0x0042: { n:'CodePage', f:parse_CodePage }, - 0x004d: { n:"Pls", f:parse_Pls }, - 0x0050: { n:"DCon", f:parse_DCon }, - 0x0051: { n:"DConRef", f:parse_DConRef }, - 0x0052: { n:"DConName", f:parse_DConName }, - 0x0055: { n:"DefColWidth", f:parse_DefColWidth }, - 0x0059: { n:"XCT", f:parse_XCT }, - 0x005a: { n:"CRN", f:parse_CRN }, - 0x005b: { n:"FileSharing", f:parse_FileSharing }, - 0x005c: { n:'WriteAccess', f:parse_WriteAccess }, - 0x005d: { n:"Obj", f:parse_Obj }, - 0x005e: { n:"Uncalced", f:parse_Uncalced }, - 0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, - 0x0060: { n:"Template", f:parse_Template }, - 0x0061: { n:"Intl", f:parse_Intl }, - 0x0063: { n:"ObjProtect", f:parse_ObjProtect }, - 0x007d: { n:"ColInfo", f:parse_ColInfo }, - 0x0080: { n:"Guts", f:parse_Guts }, - 0x0081: { n:"WsBool", f:parse_WsBool }, - 0x0082: { n:"GridSet", f:parse_GridSet }, - 0x0083: { n:"HCenter", f:parse_HCenter }, - 0x0084: { n:"VCenter", f:parse_VCenter }, - 0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, - 0x0086: { n:"WriteProtect", f:parse_WriteProtect }, - 0x008c: { n:"Country", f:parse_Country }, - 0x008d: { n:"HideObj", f:parse_HideObj }, - 0x0090: { n:"Sort", f:parse_Sort }, - 0x0092: { n:"Palette", f:parse_Palette }, - 0x0097: { n:"Sync", f:parse_Sync }, - 0x0098: { n:"LPr", f:parse_LPr }, - 0x0099: { n:"DxGCol", f:parse_DxGCol }, - 0x009a: { n:"FnGroupName", f:parse_FnGroupName }, - 0x009b: { n:"FilterMode", f:parse_FilterMode }, - 0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, - 0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, - 0x009e: { n:"AutoFilter", f:parse_AutoFilter }, - 0x00a0: { n:"Scl", f:parse_Scl }, - 0x00a1: { n:"Setup", f:parse_Setup }, - 0x00ae: { n:"ScenMan", f:parse_ScenMan }, - 0x00af: { n:"SCENARIO", f:parse_SCENARIO }, - 0x00b0: { n:"SxView", f:parse_SxView }, - 0x00b1: { n:"Sxvd", f:parse_Sxvd }, - 0x00b2: { n:"SXVI", f:parse_SXVI }, - 0x00b4: { n:"SxIvd", f:parse_SxIvd }, - 0x00b5: { n:"SXLI", f:parse_SXLI }, - 0x00b6: { n:"SXPI", f:parse_SXPI }, - 0x00b8: { n:"DocRoute", f:parse_DocRoute }, - 0x00b9: { n:"RecipName", f:parse_RecipName }, - 0x00bd: { n:"MulRk", f:parse_MulRk }, - 0x00be: { n:"MulBlank", f:parse_MulBlank }, - 0x00c1: { n:'Mms', f:parse_Mms }, - 0x00c5: { n:"SXDI", f:parse_SXDI }, - 0x00c6: { n:"SXDB", f:parse_SXDB }, - 0x00c7: { n:"SXFDB", f:parse_SXFDB }, - 0x00c8: { n:"SXDBB", f:parse_SXDBB }, - 0x00c9: { n:"SXNum", f:parse_SXNum }, - 0x00ca: { n:"SxBool", f:parse_SxBool }, - 0x00cb: { n:"SxErr", f:parse_SxErr }, - 0x00cc: { n:"SXInt", f:parse_SXInt }, - 0x00cd: { n:"SXString", f:parse_SXString }, - 0x00ce: { n:"SXDtr", f:parse_SXDtr }, - 0x00cf: { n:"SxNil", f:parse_SxNil }, - 0x00d0: { n:"SXTbl", f:parse_SXTbl }, - 0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, - 0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, - 0x00d3: { n:"ObProj", f:parse_ObProj }, - 0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, - 0x00d7: { n:"DBCell", f:parse_DBCell }, - 0x00d8: { n:"SXRng", f:parse_SXRng }, - 0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, - 0x00da: { n:"BookBool", f:parse_BookBool }, - 0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, - 0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, - 0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, - 0x00e0: { n:"XF", f:parse_XF }, - 0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, - 0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, - 0x00e3: { n:"SXVS", f:parse_SXVS }, - 0x00e5: { n:"MergeCells", f:parse_MergeCells }, - 0x00e9: { n:"BkHim", f:parse_BkHim }, - 0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, - 0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, - 0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, - 0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, - 0x00f0: { n:"SxRule", f:parse_SxRule }, - 0x00f1: { n:"SXEx", f:parse_SXEx }, - 0x00f2: { n:"SxFilt", f:parse_SxFilt }, - 0x00f4: { n:"SxDXF", f:parse_SxDXF }, - 0x00f5: { n:"SxItm", f:parse_SxItm }, - 0x00f6: { n:"SxName", f:parse_SxName }, - 0x00f7: { n:"SxSelect", f:parse_SxSelect }, - 0x00f8: { n:"SXPair", f:parse_SXPair }, - 0x00f9: { n:"SxFmla", f:parse_SxFmla }, - 0x00fb: { n:"SxFormat", f:parse_SxFormat }, - 0x00fc: { n:"SST", f:parse_SST }, - 0x00fd: { n:"LabelSst", f:parse_LabelSst }, - 0x00ff: { n:"ExtSST", f:parse_ExtSST }, - 0x0100: { n:"SXVDEx", f:parse_SXVDEx }, - 0x0103: { n:"SXFormula", f:parse_SXFormula }, - 0x0122: { n:"SXDBEx", f:parse_SXDBEx }, - 0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, - 0x0138: { n:"RRDHead", f:parse_RRDHead }, - 0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, - 0x013d: { n:"RRTabId", f:parse_RRTabId }, - 0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, - 0x013f: { n:"RRSort", f:parse_RRSort }, - 0x0140: { n:"RRDMove", f:parse_RRDMove }, - 0x014a: { n:"RRFormat", f:parse_RRFormat }, - 0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, - 0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, - 0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, - 0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, - 0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, - 0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, - 0x0152: { n:"RRDConflict", f:parse_RRDConflict }, - 0x0153: { n:"RRDDefName", f:parse_RRDDefName }, - 0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, - 0x015f: { n:"LRng", f:parse_LRng }, - 0x0160: { n:"UsesELFs", f:parse_UsesELFs }, - 0x0161: { n:"DSF", f:parse_DSF }, - 0x0191: { n:"CUsr", f:parse_CUsr }, - 0x0192: { n:"CbUsr", f:parse_CbUsr }, - 0x0193: { n:"UsrInfo", f:parse_UsrInfo }, - 0x0194: { n:"UsrExcl", f:parse_UsrExcl }, - 0x0195: { n:"FileLock", f:parse_FileLock }, - 0x0196: { n:"RRDInfo", f:parse_RRDInfo }, - 0x0197: { n:"BCUsrs", f:parse_BCUsrs }, - 0x0198: { n:"UsrChk", f:parse_UsrChk }, - 0x01a9: { n:"UserBView", f:parse_UserBView }, - 0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, - 0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, - 0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, - 0x01ad: { n:"Qsi", f:parse_Qsi }, - 0x01ae: { n:"SupBook", f:parse_SupBook }, - 0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, - 0x01b0: { n:"CondFmt", f:parse_CondFmt }, - 0x01b1: { n:"CF", f:parse_CF }, - 0x01b2: { n:"DVal", f:parse_DVal }, - 0x01b5: { n:"DConBin", f:parse_DConBin }, - 0x01b6: { n:"TxO", f:parse_TxO }, - 0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, - 0x01b8: { n:"HLink", f:parse_HLink }, - 0x01b9: { n:"Lel", f:parse_Lel }, - 0x01ba: { n:"CodeName", f:parse_XLSCodeName }, - 0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, - 0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, - 0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, - 0x01be: { n:"Dv", f:parse_Dv }, - 0x01c0: { n:"Excel9File", f:parse_Excel9File }, - 0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, - 0x01c2: { n:"EntExU2", f:parse_EntExU2 }, - 0x0200: { n:"Dimensions", f:parse_Dimensions }, - 0x0201: { n:"Blank", f:parse_Blank }, - 0x0203: { n:"Number", f:parse_Number }, - 0x0204: { n:"Label", f:parse_Label }, - 0x0205: { n:"BoolErr", f:parse_BoolErr }, - 0x0207: { n:"String", f:parse_String }, - 0x0208: { n:'Row', f:parse_Row }, - 0x020b: { n:"Index", f:parse_Index }, - 0x0221: { n:"Array", f:parse_Array }, - 0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, - 0x0236: { n:"Table", f:parse_Table }, - 0x023e: { n:"Window2", f:parse_Window2 }, - 0x027e: { n:"RK", f:parse_RK }, - 0x0293: { n:"Style", f:parse_Style }, - 0x0418: { n:"BigName", f:parse_BigName }, - 0x041e: { n:"Format", f:parse_Format }, - 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, - 0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, - 0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, - 0x0801: { n:"WebPub", f:parse_WebPub }, - 0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, - 0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, - 0x0804: { n:"ExtString", f:parse_ExtString }, - 0x0805: { n:"TxtQry", f:parse_TxtQry }, - 0x0806: { n:"Qsir", f:parse_Qsir }, - 0x0807: { n:"Qsif", f:parse_Qsif }, - 0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, - 0x0809: { n:'BOF', f:parse_BOF }, - 0x080a: { n:"OleDbConn", f:parse_OleDbConn }, - 0x080b: { n:"WOpt", f:parse_WOpt }, - 0x080c: { n:"SXViewEx", f:parse_SXViewEx }, - 0x080d: { n:"SXTH", f:parse_SXTH }, - 0x080e: { n:"SXPIEx", f:parse_SXPIEx }, - 0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, - 0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, - 0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, - 0x0813: { n:"RealTimeData", f:parse_RealTimeData }, - 0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, - 0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, - 0x0852: { n:"StartBlock", f:parse_StartBlock }, - 0x0853: { n:"EndBlock", f:parse_EndBlock }, - 0x0854: { n:"StartObject", f:parse_StartObject }, - 0x0855: { n:"EndObject", f:parse_EndObject }, - 0x0856: { n:"CatLab", f:parse_CatLab }, - 0x0857: { n:"YMult", f:parse_YMult }, - 0x0858: { n:"SXViewLink", f:parse_SXViewLink }, - 0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, - 0x085a: { n:"FrtFontList", f:parse_FrtFontList }, - 0x0862: { n:"SheetExt", f:parse_SheetExt }, - 0x0863: { n:"BookExt", f:parse_BookExt, r:12}, - 0x0864: { n:"SXAddl", f:parse_SXAddl }, - 0x0865: { n:"CrErr", f:parse_CrErr }, - 0x0866: { n:"HFPicture", f:parse_HFPicture }, - 0x0867: { n:'FeatHdr', f:parse_FeatHdr }, - 0x0868: { n:"Feat", f:parse_Feat }, - 0x086a: { n:"DataLabExt", f:parse_DataLabExt }, - 0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, - 0x086c: { n:"CellWatch", f:parse_CellWatch }, - 0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, - 0x0872: { n:"Feature11", f:parse_Feature11 }, - 0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, - 0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, - 0x0876: { n:"DConn", f:parse_DConn }, - 0x0877: { n:"List12", f:parse_List12 }, - 0x0878: { n:"Feature12", f:parse_Feature12 }, - 0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, - 0x087a: { n:"CF12", f:parse_CF12 }, - 0x087b: { n:"CFEx", f:parse_CFEx }, - 0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, - 0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, - 0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, - 0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, - 0x0884: { n:"MDTInfo", f:parse_MDTInfo }, - 0x0885: { n:"MDXStr", f:parse_MDXStr }, - 0x0886: { n:"MDXTuple", f:parse_MDXTuple }, - 0x0887: { n:"MDXSet", f:parse_MDXSet }, - 0x0888: { n:"MDXProp", f:parse_MDXProp }, - 0x0889: { n:"MDXKPI", f:parse_MDXKPI }, - 0x088a: { n:"MDB", f:parse_MDB }, - 0x088b: { n:"PLV", f:parse_PLV }, - 0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, - 0x088d: { n:"DXF", f:parse_DXF }, - 0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, - 0x088f: { n:"TableStyle", f:parse_TableStyle }, - 0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, - 0x0892: { n:"StyleExt", f:parse_StyleExt }, - 0x0893: { n:"NamePublish", f:parse_NamePublish }, - 0x0894: { n:"NameCmt", f:parse_NameCmt }, - 0x0895: { n:"SortData", f:parse_SortData }, - 0x0896: { n:"Theme", f:parse_Theme, r:12 }, - 0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, - 0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, - 0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, - 0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, - 0x089b: { n:"CompressPictures", f:parse_CompressPictures }, - 0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, - 0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, - 0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, - 0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, - 0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, - 0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, - 0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, - 0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, - 0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, - 0x1001: { n:"Units", f:parse_Units }, - 0x1002: { n:"Chart", f:parse_Chart }, - 0x1003: { n:"Series", f:parse_Series }, - 0x1006: { n:"DataFormat", f:parse_DataFormat }, - 0x1007: { n:"LineFormat", f:parse_LineFormat }, - 0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, - 0x100a: { n:"AreaFormat", f:parse_AreaFormat }, - 0x100b: { n:"PieFormat", f:parse_PieFormat }, - 0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, - 0x100d: { n:"SeriesText", f:parse_SeriesText }, - 0x1014: { n:"ChartFormat", f:parse_ChartFormat }, - 0x1015: { n:"Legend", f:parse_Legend }, - 0x1016: { n:"SeriesList", f:parse_SeriesList }, - 0x1017: { n:"Bar", f:parse_Bar }, - 0x1018: { n:"Line", f:parse_Line }, - 0x1019: { n:"Pie", f:parse_Pie }, - 0x101a: { n:"Area", f:parse_Area }, - 0x101b: { n:"Scatter", f:parse_Scatter }, - 0x101c: { n:"CrtLine", f:parse_CrtLine }, - 0x101d: { n:"Axis", f:parse_Axis }, - 0x101e: { n:"Tick", f:parse_Tick }, - 0x101f: { n:"ValueRange", f:parse_ValueRange }, - 0x1020: { n:"CatSerRange", f:parse_CatSerRange }, - 0x1021: { n:"AxisLine", f:parse_AxisLine }, - 0x1022: { n:"CrtLink", f:parse_CrtLink }, - 0x1024: { n:"DefaultText", f:parse_DefaultText }, - 0x1025: { n:"Text", f:parse_Text }, - 0x1026: { n:"FontX", f:parse_FontX }, - 0x1027: { n:"ObjectLink", f:parse_ObjectLink }, - 0x1032: { n:"Frame", f:parse_Frame }, - 0x1033: { n:"Begin", f:parse_Begin }, - 0x1034: { n:"End", f:parse_End }, - 0x1035: { n:"PlotArea", f:parse_PlotArea }, - 0x103a: { n:"Chart3d", f:parse_Chart3d }, - 0x103c: { n:"PicF", f:parse_PicF }, - 0x103d: { n:"DropBar", f:parse_DropBar }, - 0x103e: { n:"Radar", f:parse_Radar }, - 0x103f: { n:"Surf", f:parse_Surf }, - 0x1040: { n:"RadarArea", f:parse_RadarArea }, - 0x1041: { n:"AxisParent", f:parse_AxisParent }, - 0x1043: { n:"LegendException", f:parse_LegendException }, - 0x1044: { n:"ShtProps", f:parse_ShtProps }, - 0x1045: { n:"SerToCrt", f:parse_SerToCrt }, - 0x1046: { n:"AxesUsed", f:parse_AxesUsed }, - 0x1048: { n:"SBaseRef", f:parse_SBaseRef }, - 0x104a: { n:"SerParent", f:parse_SerParent }, - 0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, - 0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, - 0x104f: { n:"Pos", f:parse_Pos }, - 0x1050: { n:"AlRuns", f:parse_AlRuns }, - 0x1051: { n:"BRAI", f:parse_BRAI }, - 0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, - 0x105c: { n:"ClrtClient", f:parse_ClrtClient }, - 0x105d: { n:"SerFmt", f:parse_SerFmt }, - 0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, - 0x1060: { n:"Fbi", f:parse_Fbi }, - 0x1061: { n:"BopPop", f:parse_BopPop }, - 0x1062: { n:"AxcExt", f:parse_AxcExt }, - 0x1063: { n:"Dat", f:parse_Dat }, - 0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, - 0x1065: { n:"SIIndex", f:parse_SIIndex }, - 0x1066: { n:"GelFrame", f:parse_GelFrame }, - 0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, - 0x1068: { n:"Fbi2", f:parse_Fbi2 }, + /*::[*/0x0003/*::]*/: { n:"BIFF2NUM", f:parse_BIFF2NUM }, + /*::[*/0x0004/*::]*/: { n:"BIFF2STR", f:parse_BIFF2STR }, + /*::[*/0x0006/*::]*/: { n:"Formula", f:parse_Formula }, + /*::[*/0x0009/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x000a/*::]*/: { n:'EOF', f:parse_EOF }, + /*::[*/0x000c/*::]*/: { n:"CalcCount", f:parse_CalcCount }, + /*::[*/0x000d/*::]*/: { n:"CalcMode", f:parse_CalcMode }, + /*::[*/0x000e/*::]*/: { n:"CalcPrecision", f:parse_CalcPrecision }, + /*::[*/0x000f/*::]*/: { n:"CalcRefMode", f:parse_CalcRefMode }, + /*::[*/0x0010/*::]*/: { n:"CalcDelta", f:parse_CalcDelta }, + /*::[*/0x0011/*::]*/: { n:"CalcIter", f:parse_CalcIter }, + /*::[*/0x0012/*::]*/: { n:"Protect", f:parse_Protect }, + /*::[*/0x0013/*::]*/: { n:"Password", f:parse_Password }, + /*::[*/0x0014/*::]*/: { n:"Header", f:parse_Header }, + /*::[*/0x0015/*::]*/: { n:"Footer", f:parse_Footer }, + /*::[*/0x0017/*::]*/: { n:"ExternSheet", f:parse_ExternSheet }, + /*::[*/0x0018/*::]*/: { n:"Lbl", f:parse_Lbl }, + /*::[*/0x0019/*::]*/: { n:"WinProtect", f:parse_WinProtect }, + /*::[*/0x001a/*::]*/: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, + /*::[*/0x001b/*::]*/: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, + /*::[*/0x001c/*::]*/: { n:"Note", f:parse_Note }, + /*::[*/0x001d/*::]*/: { n:"Selection", f:parse_Selection }, + /*::[*/0x0022/*::]*/: { n:"Date1904", f:parse_Date1904 }, + /*::[*/0x0023/*::]*/: { n:"ExternName", f:parse_ExternName }, + /*::[*/0x0026/*::]*/: { n:"LeftMargin", f:parse_LeftMargin }, + /*::[*/0x0027/*::]*/: { n:"RightMargin", f:parse_RightMargin }, + /*::[*/0x0028/*::]*/: { n:"TopMargin", f:parse_TopMargin }, + /*::[*/0x0029/*::]*/: { n:"BottomMargin", f:parse_BottomMargin }, + /*::[*/0x002a/*::]*/: { n:"PrintRowCol", f:parse_PrintRowCol }, + /*::[*/0x002b/*::]*/: { n:"PrintGrid", f:parse_PrintGrid }, + /*::[*/0x002f/*::]*/: { n:"FilePass", f:parse_FilePass }, + /*::[*/0x0031/*::]*/: { n:"Font", f:parse_Font }, + /*::[*/0x0033/*::]*/: { n:"PrintSize", f:parse_PrintSize }, + /*::[*/0x003c/*::]*/: { n:"Continue", f:parse_Continue }, + /*::[*/0x003d/*::]*/: { n:"Window1", f:parse_Window1 }, + /*::[*/0x0040/*::]*/: { n:"Backup", f:parse_Backup }, + /*::[*/0x0041/*::]*/: { n:"Pane", f:parse_Pane }, + /*::[*/0x0042/*::]*/: { n:'CodePage', f:parse_CodePage }, + /*::[*/0x004d/*::]*/: { n:"Pls", f:parse_Pls }, + /*::[*/0x0050/*::]*/: { n:"DCon", f:parse_DCon }, + /*::[*/0x0051/*::]*/: { n:"DConRef", f:parse_DConRef }, + /*::[*/0x0052/*::]*/: { n:"DConName", f:parse_DConName }, + /*::[*/0x0055/*::]*/: { n:"DefColWidth", f:parse_DefColWidth }, + /*::[*/0x0059/*::]*/: { n:"XCT", f:parse_XCT }, + /*::[*/0x005a/*::]*/: { n:"CRN", f:parse_CRN }, + /*::[*/0x005b/*::]*/: { n:"FileSharing", f:parse_FileSharing }, + /*::[*/0x005c/*::]*/: { n:'WriteAccess', f:parse_WriteAccess }, + /*::[*/0x005d/*::]*/: { n:"Obj", f:parse_Obj }, + /*::[*/0x005e/*::]*/: { n:"Uncalced", f:parse_Uncalced }, + /*::[*/0x005f/*::]*/: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, + /*::[*/0x0060/*::]*/: { n:"Template", f:parse_Template }, + /*::[*/0x0061/*::]*/: { n:"Intl", f:parse_Intl }, + /*::[*/0x0063/*::]*/: { n:"ObjProtect", f:parse_ObjProtect }, + /*::[*/0x007d/*::]*/: { n:"ColInfo", f:parse_ColInfo }, + /*::[*/0x0080/*::]*/: { n:"Guts", f:parse_Guts }, + /*::[*/0x0081/*::]*/: { n:"WsBool", f:parse_WsBool }, + /*::[*/0x0082/*::]*/: { n:"GridSet", f:parse_GridSet }, + /*::[*/0x0083/*::]*/: { n:"HCenter", f:parse_HCenter }, + /*::[*/0x0084/*::]*/: { n:"VCenter", f:parse_VCenter }, + /*::[*/0x0085/*::]*/: { n:'BoundSheet8', f:parse_BoundSheet8 }, + /*::[*/0x0086/*::]*/: { n:"WriteProtect", f:parse_WriteProtect }, + /*::[*/0x008c/*::]*/: { n:"Country", f:parse_Country }, + /*::[*/0x008d/*::]*/: { n:"HideObj", f:parse_HideObj }, + /*::[*/0x0090/*::]*/: { n:"Sort", f:parse_Sort }, + /*::[*/0x0092/*::]*/: { n:"Palette", f:parse_Palette }, + /*::[*/0x0097/*::]*/: { n:"Sync", f:parse_Sync }, + /*::[*/0x0098/*::]*/: { n:"LPr", f:parse_LPr }, + /*::[*/0x0099/*::]*/: { n:"DxGCol", f:parse_DxGCol }, + /*::[*/0x009a/*::]*/: { n:"FnGroupName", f:parse_FnGroupName }, + /*::[*/0x009b/*::]*/: { n:"FilterMode", f:parse_FilterMode }, + /*::[*/0x009c/*::]*/: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, + /*::[*/0x009d/*::]*/: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, + /*::[*/0x009e/*::]*/: { n:"AutoFilter", f:parse_AutoFilter }, + /*::[*/0x00a0/*::]*/: { n:"Scl", f:parse_Scl }, + /*::[*/0x00a1/*::]*/: { n:"Setup", f:parse_Setup }, + /*::[*/0x00ae/*::]*/: { n:"ScenMan", f:parse_ScenMan }, + /*::[*/0x00af/*::]*/: { n:"SCENARIO", f:parse_SCENARIO }, + /*::[*/0x00b0/*::]*/: { n:"SxView", f:parse_SxView }, + /*::[*/0x00b1/*::]*/: { n:"Sxvd", f:parse_Sxvd }, + /*::[*/0x00b2/*::]*/: { n:"SXVI", f:parse_SXVI }, + /*::[*/0x00b4/*::]*/: { n:"SxIvd", f:parse_SxIvd }, + /*::[*/0x00b5/*::]*/: { n:"SXLI", f:parse_SXLI }, + /*::[*/0x00b6/*::]*/: { n:"SXPI", f:parse_SXPI }, + /*::[*/0x00b8/*::]*/: { n:"DocRoute", f:parse_DocRoute }, + /*::[*/0x00b9/*::]*/: { n:"RecipName", f:parse_RecipName }, + /*::[*/0x00bd/*::]*/: { n:"MulRk", f:parse_MulRk }, + /*::[*/0x00be/*::]*/: { n:"MulBlank", f:parse_MulBlank }, + /*::[*/0x00c1/*::]*/: { n:'Mms', f:parse_Mms }, + /*::[*/0x00c5/*::]*/: { n:"SXDI", f:parse_SXDI }, + /*::[*/0x00c6/*::]*/: { n:"SXDB", f:parse_SXDB }, + /*::[*/0x00c7/*::]*/: { n:"SXFDB", f:parse_SXFDB }, + /*::[*/0x00c8/*::]*/: { n:"SXDBB", f:parse_SXDBB }, + /*::[*/0x00c9/*::]*/: { n:"SXNum", f:parse_SXNum }, + /*::[*/0x00ca/*::]*/: { n:"SxBool", f:parse_SxBool }, + /*::[*/0x00cb/*::]*/: { n:"SxErr", f:parse_SxErr }, + /*::[*/0x00cc/*::]*/: { n:"SXInt", f:parse_SXInt }, + /*::[*/0x00cd/*::]*/: { n:"SXString", f:parse_SXString }, + /*::[*/0x00ce/*::]*/: { n:"SXDtr", f:parse_SXDtr }, + /*::[*/0x00cf/*::]*/: { n:"SxNil", f:parse_SxNil }, + /*::[*/0x00d0/*::]*/: { n:"SXTbl", f:parse_SXTbl }, + /*::[*/0x00d1/*::]*/: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, + /*::[*/0x00d2/*::]*/: { n:"SxTbpg", f:parse_SxTbpg }, + /*::[*/0x00d3/*::]*/: { n:"ObProj", f:parse_ObProj }, + /*::[*/0x00d5/*::]*/: { n:"SXStreamID", f:parse_SXStreamID }, + /*::[*/0x00d7/*::]*/: { n:"DBCell", f:parse_DBCell }, + /*::[*/0x00d8/*::]*/: { n:"SXRng", f:parse_SXRng }, + /*::[*/0x00d9/*::]*/: { n:"SxIsxoper", f:parse_SxIsxoper }, + /*::[*/0x00da/*::]*/: { n:"BookBool", f:parse_BookBool }, + /*::[*/0x00dc/*::]*/: { n:"DbOrParamQry", f:parse_DbOrParamQry }, + /*::[*/0x00dd/*::]*/: { n:"ScenarioProtect", f:parse_ScenarioProtect }, + /*::[*/0x00de/*::]*/: { n:"OleObjectSize", f:parse_OleObjectSize }, + /*::[*/0x00e0/*::]*/: { n:"XF", f:parse_XF }, + /*::[*/0x00e1/*::]*/: { n:'InterfaceHdr', f:parse_InterfaceHdr }, + /*::[*/0x00e2/*::]*/: { n:'InterfaceEnd', f:parse_InterfaceEnd }, + /*::[*/0x00e3/*::]*/: { n:"SXVS", f:parse_SXVS }, + /*::[*/0x00e5/*::]*/: { n:"MergeCells", f:parse_MergeCells }, + /*::[*/0x00e9/*::]*/: { n:"BkHim", f:parse_BkHim }, + /*::[*/0x00eb/*::]*/: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, + /*::[*/0x00ec/*::]*/: { n:"MsoDrawing", f:parse_MsoDrawing }, + /*::[*/0x00ed/*::]*/: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, + /*::[*/0x00ef/*::]*/: { n:"PhoneticInfo", f:parse_PhoneticInfo }, + /*::[*/0x00f0/*::]*/: { n:"SxRule", f:parse_SxRule }, + /*::[*/0x00f1/*::]*/: { n:"SXEx", f:parse_SXEx }, + /*::[*/0x00f2/*::]*/: { n:"SxFilt", f:parse_SxFilt }, + /*::[*/0x00f4/*::]*/: { n:"SxDXF", f:parse_SxDXF }, + /*::[*/0x00f5/*::]*/: { n:"SxItm", f:parse_SxItm }, + /*::[*/0x00f6/*::]*/: { n:"SxName", f:parse_SxName }, + /*::[*/0x00f7/*::]*/: { n:"SxSelect", f:parse_SxSelect }, + /*::[*/0x00f8/*::]*/: { n:"SXPair", f:parse_SXPair }, + /*::[*/0x00f9/*::]*/: { n:"SxFmla", f:parse_SxFmla }, + /*::[*/0x00fb/*::]*/: { n:"SxFormat", f:parse_SxFormat }, + /*::[*/0x00fc/*::]*/: { n:"SST", f:parse_SST }, + /*::[*/0x00fd/*::]*/: { n:"LabelSst", f:parse_LabelSst }, + /*::[*/0x00ff/*::]*/: { n:"ExtSST", f:parse_ExtSST }, + /*::[*/0x0100/*::]*/: { n:"SXVDEx", f:parse_SXVDEx }, + /*::[*/0x0103/*::]*/: { n:"SXFormula", f:parse_SXFormula }, + /*::[*/0x0122/*::]*/: { n:"SXDBEx", f:parse_SXDBEx }, + /*::[*/0x0137/*::]*/: { n:"RRDInsDel", f:parse_RRDInsDel }, + /*::[*/0x0138/*::]*/: { n:"RRDHead", f:parse_RRDHead }, + /*::[*/0x013b/*::]*/: { n:"RRDChgCell", f:parse_RRDChgCell }, + /*::[*/0x013d/*::]*/: { n:"RRTabId", f:parse_RRTabId }, + /*::[*/0x013e/*::]*/: { n:"RRDRenSheet", f:parse_RRDRenSheet }, + /*::[*/0x013f/*::]*/: { n:"RRSort", f:parse_RRSort }, + /*::[*/0x0140/*::]*/: { n:"RRDMove", f:parse_RRDMove }, + /*::[*/0x014a/*::]*/: { n:"RRFormat", f:parse_RRFormat }, + /*::[*/0x014b/*::]*/: { n:"RRAutoFmt", f:parse_RRAutoFmt }, + /*::[*/0x014d/*::]*/: { n:"RRInsertSh", f:parse_RRInsertSh }, + /*::[*/0x014e/*::]*/: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, + /*::[*/0x014f/*::]*/: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, + /*::[*/0x0150/*::]*/: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, + /*::[*/0x0151/*::]*/: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, + /*::[*/0x0152/*::]*/: { n:"RRDConflict", f:parse_RRDConflict }, + /*::[*/0x0153/*::]*/: { n:"RRDDefName", f:parse_RRDDefName }, + /*::[*/0x0154/*::]*/: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, + /*::[*/0x015f/*::]*/: { n:"LRng", f:parse_LRng }, + /*::[*/0x0160/*::]*/: { n:"UsesELFs", f:parse_UsesELFs }, + /*::[*/0x0161/*::]*/: { n:"DSF", f:parse_DSF }, + /*::[*/0x0191/*::]*/: { n:"CUsr", f:parse_CUsr }, + /*::[*/0x0192/*::]*/: { n:"CbUsr", f:parse_CbUsr }, + /*::[*/0x0193/*::]*/: { n:"UsrInfo", f:parse_UsrInfo }, + /*::[*/0x0194/*::]*/: { n:"UsrExcl", f:parse_UsrExcl }, + /*::[*/0x0195/*::]*/: { n:"FileLock", f:parse_FileLock }, + /*::[*/0x0196/*::]*/: { n:"RRDInfo", f:parse_RRDInfo }, + /*::[*/0x0197/*::]*/: { n:"BCUsrs", f:parse_BCUsrs }, + /*::[*/0x0198/*::]*/: { n:"UsrChk", f:parse_UsrChk }, + /*::[*/0x01a9/*::]*/: { n:"UserBView", f:parse_UserBView }, + /*::[*/0x01aa/*::]*/: { n:"UserSViewBegin", f:parse_UserSViewBegin }, + /*::[*/0x01ab/*::]*/: { n:"UserSViewEnd", f:parse_UserSViewEnd }, + /*::[*/0x01ac/*::]*/: { n:"RRDUserView", f:parse_RRDUserView }, + /*::[*/0x01ad/*::]*/: { n:"Qsi", f:parse_Qsi }, + /*::[*/0x01ae/*::]*/: { n:"SupBook", f:parse_SupBook }, + /*::[*/0x01af/*::]*/: { n:"Prot4Rev", f:parse_Prot4Rev }, + /*::[*/0x01b0/*::]*/: { n:"CondFmt", f:parse_CondFmt }, + /*::[*/0x01b1/*::]*/: { n:"CF", f:parse_CF }, + /*::[*/0x01b2/*::]*/: { n:"DVal", f:parse_DVal }, + /*::[*/0x01b5/*::]*/: { n:"DConBin", f:parse_DConBin }, + /*::[*/0x01b6/*::]*/: { n:"TxO", f:parse_TxO }, + /*::[*/0x01b7/*::]*/: { n:"RefreshAll", f:parse_RefreshAll }, + /*::[*/0x01b8/*::]*/: { n:"HLink", f:parse_HLink }, + /*::[*/0x01b9/*::]*/: { n:"Lel", f:parse_Lel }, + /*::[*/0x01ba/*::]*/: { n:"CodeName", f:parse_XLSCodeName }, + /*::[*/0x01bb/*::]*/: { n:"SXFDBType", f:parse_SXFDBType }, + /*::[*/0x01bc/*::]*/: { n:"Prot4RevPass", f:parse_Prot4RevPass }, + /*::[*/0x01bd/*::]*/: { n:"ObNoMacros", f:parse_ObNoMacros }, + /*::[*/0x01be/*::]*/: { n:"Dv", f:parse_Dv }, + /*::[*/0x01c0/*::]*/: { n:"Excel9File", f:parse_Excel9File }, + /*::[*/0x01c1/*::]*/: { n:"RecalcId", f:parse_RecalcId, r:2}, + /*::[*/0x01c2/*::]*/: { n:"EntExU2", f:parse_EntExU2 }, + /*::[*/0x0200/*::]*/: { n:"Dimensions", f:parse_Dimensions }, + /*::[*/0x0201/*::]*/: { n:"Blank", f:parse_Blank }, + /*::[*/0x0203/*::]*/: { n:"Number", f:parse_Number }, + /*::[*/0x0204/*::]*/: { n:"Label", f:parse_Label }, + /*::[*/0x0205/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0207/*::]*/: { n:"String", f:parse_String }, + /*::[*/0x0208/*::]*/: { n:'Row', f:parse_Row }, + /*::[*/0x020b/*::]*/: { n:"Index", f:parse_Index }, + /*::[*/0x0221/*::]*/: { n:"Array", f:parse_Array }, + /*::[*/0x0225/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + /*::[*/0x0236/*::]*/: { n:"Table", f:parse_Table }, + /*::[*/0x023e/*::]*/: { n:"Window2", f:parse_Window2 }, + /*::[*/0x027e/*::]*/: { n:"RK", f:parse_RK }, + /*::[*/0x0293/*::]*/: { n:"Style", f:parse_Style }, + /*::[*/0x0418/*::]*/: { n:"BigName", f:parse_BigName }, + /*::[*/0x041e/*::]*/: { n:"Format", f:parse_Format }, + /*::[*/0x043c/*::]*/: { n:"ContinueBigName", f:parse_ContinueBigName }, + /*::[*/0x04bc/*::]*/: { n:"ShrFmla", f:parse_ShrFmla }, + /*::[*/0x0800/*::]*/: { n:"HLinkTooltip", f:parse_HLinkTooltip }, + /*::[*/0x0801/*::]*/: { n:"WebPub", f:parse_WebPub }, + /*::[*/0x0802/*::]*/: { n:"QsiSXTag", f:parse_QsiSXTag }, + /*::[*/0x0803/*::]*/: { n:"DBQueryExt", f:parse_DBQueryExt }, + /*::[*/0x0804/*::]*/: { n:"ExtString", f:parse_ExtString }, + /*::[*/0x0805/*::]*/: { n:"TxtQry", f:parse_TxtQry }, + /*::[*/0x0806/*::]*/: { n:"Qsir", f:parse_Qsir }, + /*::[*/0x0807/*::]*/: { n:"Qsif", f:parse_Qsif }, + /*::[*/0x0808/*::]*/: { n:"RRDTQSIF", f:parse_RRDTQSIF }, + /*::[*/0x0809/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x080a/*::]*/: { n:"OleDbConn", f:parse_OleDbConn }, + /*::[*/0x080b/*::]*/: { n:"WOpt", f:parse_WOpt }, + /*::[*/0x080c/*::]*/: { n:"SXViewEx", f:parse_SXViewEx }, + /*::[*/0x080d/*::]*/: { n:"SXTH", f:parse_SXTH }, + /*::[*/0x080e/*::]*/: { n:"SXPIEx", f:parse_SXPIEx }, + /*::[*/0x080f/*::]*/: { n:"SXVDTEx", f:parse_SXVDTEx }, + /*::[*/0x0810/*::]*/: { n:"SXViewEx9", f:parse_SXViewEx9 }, + /*::[*/0x0812/*::]*/: { n:"ContinueFrt", f:parse_ContinueFrt }, + /*::[*/0x0813/*::]*/: { n:"RealTimeData", f:parse_RealTimeData }, + /*::[*/0x0850/*::]*/: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, + /*::[*/0x0851/*::]*/: { n:"FrtWrapper", f:parse_FrtWrapper }, + /*::[*/0x0852/*::]*/: { n:"StartBlock", f:parse_StartBlock }, + /*::[*/0x0853/*::]*/: { n:"EndBlock", f:parse_EndBlock }, + /*::[*/0x0854/*::]*/: { n:"StartObject", f:parse_StartObject }, + /*::[*/0x0855/*::]*/: { n:"EndObject", f:parse_EndObject }, + /*::[*/0x0856/*::]*/: { n:"CatLab", f:parse_CatLab }, + /*::[*/0x0857/*::]*/: { n:"YMult", f:parse_YMult }, + /*::[*/0x0858/*::]*/: { n:"SXViewLink", f:parse_SXViewLink }, + /*::[*/0x0859/*::]*/: { n:"PivotChartBits", f:parse_PivotChartBits }, + /*::[*/0x085a/*::]*/: { n:"FrtFontList", f:parse_FrtFontList }, + /*::[*/0x0862/*::]*/: { n:"SheetExt", f:parse_SheetExt }, + /*::[*/0x0863/*::]*/: { n:"BookExt", f:parse_BookExt, r:12}, + /*::[*/0x0864/*::]*/: { n:"SXAddl", f:parse_SXAddl }, + /*::[*/0x0865/*::]*/: { n:"CrErr", f:parse_CrErr }, + /*::[*/0x0866/*::]*/: { n:"HFPicture", f:parse_HFPicture }, + /*::[*/0x0867/*::]*/: { n:'FeatHdr', f:parse_FeatHdr }, + /*::[*/0x0868/*::]*/: { n:"Feat", f:parse_Feat }, + /*::[*/0x086a/*::]*/: { n:"DataLabExt", f:parse_DataLabExt }, + /*::[*/0x086b/*::]*/: { n:"DataLabExtContents", f:parse_DataLabExtContents }, + /*::[*/0x086c/*::]*/: { n:"CellWatch", f:parse_CellWatch }, + /*::[*/0x0871/*::]*/: { n:"FeatHdr11", f:parse_FeatHdr11 }, + /*::[*/0x0872/*::]*/: { n:"Feature11", f:parse_Feature11 }, + /*::[*/0x0874/*::]*/: { n:"DropDownObjIds", f:parse_DropDownObjIds }, + /*::[*/0x0875/*::]*/: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, + /*::[*/0x0876/*::]*/: { n:"DConn", f:parse_DConn }, + /*::[*/0x0877/*::]*/: { n:"List12", f:parse_List12 }, + /*::[*/0x0878/*::]*/: { n:"Feature12", f:parse_Feature12 }, + /*::[*/0x0879/*::]*/: { n:"CondFmt12", f:parse_CondFmt12 }, + /*::[*/0x087a/*::]*/: { n:"CF12", f:parse_CF12 }, + /*::[*/0x087b/*::]*/: { n:"CFEx", f:parse_CFEx }, + /*::[*/0x087c/*::]*/: { n:"XFCRC", f:parse_XFCRC, r:12 }, + /*::[*/0x087d/*::]*/: { n:"XFExt", f:parse_XFExt, r:12 }, + /*::[*/0x087e/*::]*/: { n:"AutoFilter12", f:parse_AutoFilter12 }, + /*::[*/0x087f/*::]*/: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, + /*::[*/0x0884/*::]*/: { n:"MDTInfo", f:parse_MDTInfo }, + /*::[*/0x0885/*::]*/: { n:"MDXStr", f:parse_MDXStr }, + /*::[*/0x0886/*::]*/: { n:"MDXTuple", f:parse_MDXTuple }, + /*::[*/0x0887/*::]*/: { n:"MDXSet", f:parse_MDXSet }, + /*::[*/0x0888/*::]*/: { n:"MDXProp", f:parse_MDXProp }, + /*::[*/0x0889/*::]*/: { n:"MDXKPI", f:parse_MDXKPI }, + /*::[*/0x088a/*::]*/: { n:"MDB", f:parse_MDB }, + /*::[*/0x088b/*::]*/: { n:"PLV", f:parse_PLV }, + /*::[*/0x088c/*::]*/: { n:"Compat12", f:parse_Compat12, r:12 }, + /*::[*/0x088d/*::]*/: { n:"DXF", f:parse_DXF }, + /*::[*/0x088e/*::]*/: { n:"TableStyles", f:parse_TableStyles, r:12 }, + /*::[*/0x088f/*::]*/: { n:"TableStyle", f:parse_TableStyle }, + /*::[*/0x0890/*::]*/: { n:"TableStyleElement", f:parse_TableStyleElement }, + /*::[*/0x0892/*::]*/: { n:"StyleExt", f:parse_StyleExt }, + /*::[*/0x0893/*::]*/: { n:"NamePublish", f:parse_NamePublish }, + /*::[*/0x0894/*::]*/: { n:"NameCmt", f:parse_NameCmt }, + /*::[*/0x0895/*::]*/: { n:"SortData", f:parse_SortData }, + /*::[*/0x0896/*::]*/: { n:"Theme", f:parse_Theme, r:12 }, + /*::[*/0x0897/*::]*/: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, + /*::[*/0x0898/*::]*/: { n:"FnGrp12", f:parse_FnGrp12 }, + /*::[*/0x0899/*::]*/: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, + /*::[*/0x089a/*::]*/: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, + /*::[*/0x089b/*::]*/: { n:"CompressPictures", f:parse_CompressPictures }, + /*::[*/0x089c/*::]*/: { n:"HeaderFooter", f:parse_HeaderFooter }, + /*::[*/0x089d/*::]*/: { n:"CrtLayout12", f:parse_CrtLayout12 }, + /*::[*/0x089e/*::]*/: { n:"CrtMlFrt", f:parse_CrtMlFrt }, + /*::[*/0x089f/*::]*/: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, + /*::[*/0x08a3/*::]*/: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, + /*::[*/0x08a4/*::]*/: { n:"ShapePropsStream", f:parse_ShapePropsStream }, + /*::[*/0x08a5/*::]*/: { n:"TextPropsStream", f:parse_TextPropsStream }, + /*::[*/0x08a6/*::]*/: { n:"RichTextStream", f:parse_RichTextStream }, + /*::[*/0x08a7/*::]*/: { n:"CrtLayout12A", f:parse_CrtLayout12A }, + /*::[*/0x1001/*::]*/: { n:"Units", f:parse_Units }, + /*::[*/0x1002/*::]*/: { n:"Chart", f:parse_Chart }, + /*::[*/0x1003/*::]*/: { n:"Series", f:parse_Series }, + /*::[*/0x1006/*::]*/: { n:"DataFormat", f:parse_DataFormat }, + /*::[*/0x1007/*::]*/: { n:"LineFormat", f:parse_LineFormat }, + /*::[*/0x1009/*::]*/: { n:"MarkerFormat", f:parse_MarkerFormat }, + /*::[*/0x100a/*::]*/: { n:"AreaFormat", f:parse_AreaFormat }, + /*::[*/0x100b/*::]*/: { n:"PieFormat", f:parse_PieFormat }, + /*::[*/0x100c/*::]*/: { n:"AttachedLabel", f:parse_AttachedLabel }, + /*::[*/0x100d/*::]*/: { n:"SeriesText", f:parse_SeriesText }, + /*::[*/0x1014/*::]*/: { n:"ChartFormat", f:parse_ChartFormat }, + /*::[*/0x1015/*::]*/: { n:"Legend", f:parse_Legend }, + /*::[*/0x1016/*::]*/: { n:"SeriesList", f:parse_SeriesList }, + /*::[*/0x1017/*::]*/: { n:"Bar", f:parse_Bar }, + /*::[*/0x1018/*::]*/: { n:"Line", f:parse_Line }, + /*::[*/0x1019/*::]*/: { n:"Pie", f:parse_Pie }, + /*::[*/0x101a/*::]*/: { n:"Area", f:parse_Area }, + /*::[*/0x101b/*::]*/: { n:"Scatter", f:parse_Scatter }, + /*::[*/0x101c/*::]*/: { n:"CrtLine", f:parse_CrtLine }, + /*::[*/0x101d/*::]*/: { n:"Axis", f:parse_Axis }, + /*::[*/0x101e/*::]*/: { n:"Tick", f:parse_Tick }, + /*::[*/0x101f/*::]*/: { n:"ValueRange", f:parse_ValueRange }, + /*::[*/0x1020/*::]*/: { n:"CatSerRange", f:parse_CatSerRange }, + /*::[*/0x1021/*::]*/: { n:"AxisLine", f:parse_AxisLine }, + /*::[*/0x1022/*::]*/: { n:"CrtLink", f:parse_CrtLink }, + /*::[*/0x1024/*::]*/: { n:"DefaultText", f:parse_DefaultText }, + /*::[*/0x1025/*::]*/: { n:"Text", f:parse_Text }, + /*::[*/0x1026/*::]*/: { n:"FontX", f:parse_FontX }, + /*::[*/0x1027/*::]*/: { n:"ObjectLink", f:parse_ObjectLink }, + /*::[*/0x1032/*::]*/: { n:"Frame", f:parse_Frame }, + /*::[*/0x1033/*::]*/: { n:"Begin", f:parse_Begin }, + /*::[*/0x1034/*::]*/: { n:"End", f:parse_End }, + /*::[*/0x1035/*::]*/: { n:"PlotArea", f:parse_PlotArea }, + /*::[*/0x103a/*::]*/: { n:"Chart3d", f:parse_Chart3d }, + /*::[*/0x103c/*::]*/: { n:"PicF", f:parse_PicF }, + /*::[*/0x103d/*::]*/: { n:"DropBar", f:parse_DropBar }, + /*::[*/0x103e/*::]*/: { n:"Radar", f:parse_Radar }, + /*::[*/0x103f/*::]*/: { n:"Surf", f:parse_Surf }, + /*::[*/0x1040/*::]*/: { n:"RadarArea", f:parse_RadarArea }, + /*::[*/0x1041/*::]*/: { n:"AxisParent", f:parse_AxisParent }, + /*::[*/0x1043/*::]*/: { n:"LegendException", f:parse_LegendException }, + /*::[*/0x1044/*::]*/: { n:"ShtProps", f:parse_ShtProps }, + /*::[*/0x1045/*::]*/: { n:"SerToCrt", f:parse_SerToCrt }, + /*::[*/0x1046/*::]*/: { n:"AxesUsed", f:parse_AxesUsed }, + /*::[*/0x1048/*::]*/: { n:"SBaseRef", f:parse_SBaseRef }, + /*::[*/0x104a/*::]*/: { n:"SerParent", f:parse_SerParent }, + /*::[*/0x104b/*::]*/: { n:"SerAuxTrend", f:parse_SerAuxTrend }, + /*::[*/0x104e/*::]*/: { n:"IFmtRecord", f:parse_IFmtRecord }, + /*::[*/0x104f/*::]*/: { n:"Pos", f:parse_Pos }, + /*::[*/0x1050/*::]*/: { n:"AlRuns", f:parse_AlRuns }, + /*::[*/0x1051/*::]*/: { n:"BRAI", f:parse_BRAI }, + /*::[*/0x105b/*::]*/: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, + /*::[*/0x105c/*::]*/: { n:"ClrtClient", f:parse_ClrtClient }, + /*::[*/0x105d/*::]*/: { n:"SerFmt", f:parse_SerFmt }, + /*::[*/0x105f/*::]*/: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, + /*::[*/0x1060/*::]*/: { n:"Fbi", f:parse_Fbi }, + /*::[*/0x1061/*::]*/: { n:"BopPop", f:parse_BopPop }, + /*::[*/0x1062/*::]*/: { n:"AxcExt", f:parse_AxcExt }, + /*::[*/0x1063/*::]*/: { n:"Dat", f:parse_Dat }, + /*::[*/0x1064/*::]*/: { n:"PlotGrowth", f:parse_PlotGrowth }, + /*::[*/0x1065/*::]*/: { n:"SIIndex", f:parse_SIIndex }, + /*::[*/0x1066/*::]*/: { n:"GelFrame", f:parse_GelFrame }, + /*::[*/0x1067/*::]*/: { n:"BopPopCustom", f:parse_BopPopCustom }, + /*::[*/0x1068/*::]*/: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ - 0x0016: { n:"ExternCount", f:parsenoop }, - 0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ - 0x007f: { n:"ImData", f:parsenoop }, - 0x0087: { n:"Addin", f:parsenoop }, - 0x0088: { n:"Edg", f:parsenoop }, - 0x0089: { n:"Pub", f:parsenoop }, - 0x0091: { n:"Sub", f:parsenoop }, - 0x0094: { n:"LHRecord", f:parsenoop }, - 0x0095: { n:"LHNGraph", f:parsenoop }, - 0x0096: { n:"Sound", f:parsenoop }, - 0x00a9: { n:"CoordList", f:parsenoop }, - 0x00ab: { n:"GCW", f:parsenoop }, - 0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ - 0x00c2: { n:"AddMenu", f:parsenoop }, - 0x00c3: { n:"DelMenu", f:parsenoop }, - 0x00d6: { n:"RString", f:parsenoop }, - 0x00df: { n:"UDDesc", f:parsenoop }, - 0x00ea: { n:"TabIdConf", f:parsenoop }, - 0x0162: { n:"XL5Modify", f:parsenoop }, - 0x01a5: { n:"FileSharing2", f:parsenoop }, - 0x0218: { n:"Name", f:parsenoop }, - 0x0223: { n:"ExternName", f:parse_ExternName }, - 0x0231: { n:"Font", f:parsenoop }, - 0x0406: { n:"Formula", f:parse_Formula }, - 0x086d: { n:"FeatInfo", f:parsenoop }, - 0x0873: { n:"FeatInfo11", f:parsenoop }, - 0x0881: { n:"SXAddl12", f:parsenoop }, - 0x08c0: { n:"AutoWebPub", f:parsenoop }, - 0x08c1: { n:"ListObj", f:parsenoop }, - 0x08c2: { n:"ListField", f:parsenoop }, - 0x08c3: { n:"ListDV", f:parsenoop }, - 0x08c4: { n:"ListCondFmt", f:parsenoop }, - 0x08c5: { n:"ListCF", f:parsenoop }, - 0x08c6: { n:"FMQry", f:parsenoop }, - 0x08c7: { n:"FMSQry", f:parsenoop }, - 0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ - 0x08c9: { n:"LnExt", f:parsenoop }, - 0x08ca: { n:"MkrExt", f:parsenoop }, - 0x08cb: { n:"CrtCoopt", f:parsenoop }, + /*::[*/0x0000/*::]*/: { n:"Dimension", f:parsenoop }, + /*::[*/0x0002/*::]*/: { n:"BIFF2INT", f:parse_BIFF2INT }, + /*::[*/0x0005/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING }, + /*::[*/0x0008/*::]*/: { n:"BIFF2ROW", f:parsenoop }, + /*::[*/0x000b/*::]*/: { n:"Index", f:parse_Index }, + /*::[*/0x001e/*::]*/: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, + /*::[*/0x001f/*::]*/: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ + /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop }, + /*::[*/0x0025/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + /*::[*/0x0032/*::]*/: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, + /*::[*/0x003e/*::]*/: { n:"BIFF2WINDOW2", f:parsenoop }, + /*::[*/0x0045/*::]*/: { n:"BIFF2FONTCLR", f:parsenoop }, + /*::[*/0x0056/*::]*/: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ + /*::[*/0x007e/*::]*/: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ + /*::[*/0x007f/*::]*/: { n:"ImData", f:parsenoop }, + /*::[*/0x0087/*::]*/: { n:"Addin", f:parsenoop }, + /*::[*/0x0088/*::]*/: { n:"Edg", f:parsenoop }, + /*::[*/0x0089/*::]*/: { n:"Pub", f:parsenoop }, + /*::[*/0x0091/*::]*/: { n:"Sub", f:parsenoop }, + /*::[*/0x0094/*::]*/: { n:"LHRecord", f:parsenoop }, + /*::[*/0x0095/*::]*/: { n:"LHNGraph", f:parsenoop }, + /*::[*/0x0096/*::]*/: { n:"Sound", f:parsenoop }, + /*::[*/0x00a9/*::]*/: { n:"CoordList", f:parsenoop }, + /*::[*/0x00ab/*::]*/: { n:"GCW", f:parsenoop }, + /*::[*/0x00bc/*::]*/: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ + /*::[*/0x00c2/*::]*/: { n:"AddMenu", f:parsenoop }, + /*::[*/0x00c3/*::]*/: { n:"DelMenu", f:parsenoop }, + /*::[*/0x00d6/*::]*/: { n:"RString", f:parsenoop }, + /*::[*/0x00df/*::]*/: { n:"UDDesc", f:parsenoop }, + /*::[*/0x00ea/*::]*/: { n:"TabIdConf", f:parsenoop }, + /*::[*/0x0162/*::]*/: { n:"XL5Modify", f:parsenoop }, + /*::[*/0x01a5/*::]*/: { n:"FileSharing2", f:parsenoop }, + /*::[*/0x0209/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x0218/*::]*/: { n:"Lbl", f:parse_Lbl }, + /*::[*/0x0223/*::]*/: { n:"ExternName", f:parse_ExternName }, + /*::[*/0x0231/*::]*/: { n:"Font", f:parsenoop }, + /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, + /*::[*/0x0409/*::]*/: { n:'BOF', f:parse_BOF }, + /*::[*/0x086d/*::]*/: { n:"FeatInfo", f:parsenoop }, + /*::[*/0x0873/*::]*/: { n:"FeatInfo11", f:parsenoop }, + /*::[*/0x0881/*::]*/: { n:"SXAddl12", f:parsenoop }, + /*::[*/0x08c0/*::]*/: { n:"AutoWebPub", f:parsenoop }, + /*::[*/0x08c1/*::]*/: { n:"ListObj", f:parsenoop }, + /*::[*/0x08c2/*::]*/: { n:"ListField", f:parsenoop }, + /*::[*/0x08c3/*::]*/: { n:"ListDV", f:parsenoop }, + /*::[*/0x08c4/*::]*/: { n:"ListCondFmt", f:parsenoop }, + /*::[*/0x08c5/*::]*/: { n:"ListCF", f:parsenoop }, + /*::[*/0x08c6/*::]*/: { n:"FMQry", f:parsenoop }, + /*::[*/0x08c7/*::]*/: { n:"FMSQry", f:parsenoop }, + /*::[*/0x08c8/*::]*/: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ + /*::[*/0x08c9/*::]*/: { n:"LnExt", f:parsenoop }, + /*::[*/0x08ca/*::]*/: { n:"MkrExt", f:parsenoop }, + /*::[*/0x08cb/*::]*/: { n:"CrtCoopt", f:parsenoop }, - 0x0000: {} + /*::[*/0x0043/*::]*/: { n:"BIFF2XF", f:parsenoop }, + /*::[*/0x0243/*::]*/: { n:"BIFF3XF", f:parsenoop }, + /*::[*/0x0443/*::]*/: { n:"BIFF4XF", f:parsenoop }, + + /*::[*/0x7262/*::]*/: {} }; +/* BIFF2-4 single-sheet workbooks */ +function write_biff_rec(ba/*:BufArray*/, t/*:number*/, payload, length/*:?number*/) { + var len = (length || (payload||[]).length); + var o = ba.next(4 + len); + o.write_shift(2, t); + o.write_shift(2, len); + if(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload); +} + +function write_BOF(wb/*:Workbook*/, o) { + if(o.bookType != 'biff2') throw "unsupported BIFF version"; + var out = new_buf(4); + out.write_shift(2, 0x0002); // "unused" + out.write_shift(2, 0x0010); // Sheet + return out; +} + +function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, 0); + out.write_shift(1, 0); + out.write_shift(1, 0); + return out; +} + +function write_BIFF2INT(r/*:number*/, c/*:number*/, val) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + out.write_shift(2, val); + return out; +} + +function write_BIFF2NUMBER(r, c, val) { + var out = new_buf(15); + write_BIFF2Cell(out, r, c); + out.write_shift(8, val, 'f'); + return out; +} + +function write_BIFF2BERR(r, c, val, t) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + if(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); } + else { out.write_shift(1, val?1:0); out.write_shift(1, 0); } + return out; +} + +/* TODO: codepage, large strings */ +function write_BIFF2LABEL(r, c, val) { + var out = new_buf(8 + 2*val.length); + write_BIFF2Cell(out, r, c); + out.write_shift(1, val.length); + out.write_shift(val.length, val, 'sbcs'); + return out.l < out.length ? out.slice(0, out.l) : out; +} + +function write_ws_biff_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { + switch(cell.t) { + case 'n': + if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); + else + write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); + break; + case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; + /* TODO: codepage, sst */ + case 's': case 'str': + write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); + break; + default: write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); + } +} + +function write_biff_ws(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { + var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + for(var R = range.s.r; R <= range.e.r; ++R) { + rr = encode_row(R); + for(var C = range.s.c; C <= range.e.c; ++C) { + if(R === range.s.r) cols[C] = encode_col(C); + ref = cols[C] + rr; + if(!ws[ref]) continue; + /* write cell */ + write_ws_biff_cell(ba, ws[ref], R, C, opts); + } + } +} + +/* Based on test files */ +function write_biff_buf(wb/*:Workbook*/, o/*:WriteOpts*/) { + var ba = buf_array(); + var idx = 0; + for(var i=0;i >*/)/*:{(o:any):void}*/ { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { var d = defaults[i]; @@ -11245,15 +11658,15 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts) { try { - sheetRels[sheet]=parse_rels(getzipdata(zip, relsPath, true), path); + sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); } catch(e) { if(opts.WTF) throw e; } } -var nodirs = function nodirs(x){return x.substr(-1) != '/';}; -function parse_zip(zip, opts) { +var nodirs = function nodirs(x/*:string*/)/*:boolean*/{return x.substr(-1) != '/';}; +function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { make_ssf(SSF); opts = opts || {}; fix_read_opts(opts); @@ -11263,7 +11676,7 @@ function parse_zip(zip, opts) { if(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts); var entries = keys(zip.files).filter(nodirs).sort(); - var dir = parse_ct(getzipdata(zip, '[Content_Types].xml'), opts); + var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/), opts); var xlsb = false; var sheets, binname; if(dir.workbooks.length === 0) { @@ -11295,10 +11708,10 @@ function parse_zip(zip, opts) { var props = {}, propdata = ""; if(dir.coreprops.length !== 0) { - propdata = getzipdata(zip, dir.coreprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.coreprops[0].replace(/^\//,''), true); if(propdata) props = parse_core_props(propdata); if(dir.extprops.length !== 0) { - propdata = getzipdata(zip, dir.extprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.extprops[0].replace(/^\//,''), true); if(propdata) parse_ext_props(propdata, props); } } @@ -11306,7 +11719,7 @@ function parse_zip(zip, opts) { var custprops = {}; if(!opts.bookSheets || opts.bookProps) { if (dir.custprops.length !== 0) { - propdata = getzipdata(zip, dir.custprops[0].replace(/^\//,''), true); + propdata = getzipstr(zip, dir.custprops[0].replace(/^\//,''), true); if(propdata) custprops = parse_cust_props(propdata, opts); } } @@ -11325,7 +11738,7 @@ function parse_zip(zip, opts) { if(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, dir.calcchain.replace(/^\//,'')),dir.calcchain,opts); var i=0; - var sheetRels = {}; + var sheetRels = ({}/*:any*/); var path, relsPath; if(!props.Worksheets) { var wbsheets = wb.Sheets; @@ -11338,12 +11751,12 @@ function parse_zip(zip, opts) { var wbext = xlsb ? "bin" : "xml"; var wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels'; - var wbrels = parse_rels(getzipdata(zip, wbrelsfile, true), wbrelsfile); + var wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile); if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; for(i = 0; i != props.Worksheets; ++i) { - if(wbrels) path = 'xl/' + (wbrels[i][1]).replace(/[\/]?xl\//, ""); + if(wbrels && wbrels[i]) path = 'xl/' + (wbrels[i][1]).replace(/[\/]?xl\//, ""); else { path = 'xl/worksheets/sheet'+(i+1-nmode)+"." + wbext; path = path.replace(/sheet0\./,"sheet."); @@ -11354,7 +11767,7 @@ function parse_zip(zip, opts) { if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); - out = { + out = ({ Directory: dir, Workbook: wb, Props: props, @@ -11366,14 +11779,14 @@ function parse_zip(zip, opts) { Styles: styles, Themes: themes, SSF: SSF.get_table() - }; + }/*:any*/); if(opts.bookFiles) { out.keys = entries; out.files = zip.files; } if(opts.bookVBA) { if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); - else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + else if(dir.defaults && dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } @@ -11388,7 +11801,7 @@ function add_rels(rels, rId, f, type, relobj) { rels[('/' + relobj.Target).replace("//","/")] = relobj; } -function write_zip(wb, opts) { +function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/) { if(opts.bookType == "ods") return write_ods(wb, opts); if(wb && !wb.SSF) { wb.SSF = SSF.get_table(); @@ -11404,19 +11817,21 @@ function write_zip(wb, opts) { coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], TODO:[], rels:[], xmlns: "" }; fix_write_opts(opts = opts || {}); + /*:: if(!jszip) throw new Error("JSZip is not available"); */ var zip = new jszip(); var f = "", rId = 0; opts.cellXfs = []; get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); + if(!wb.Props) wb.Props = {}; + f = "docProps/core.xml"; zip.file(f, write_core_props(wb.Props, opts)); ct.coreprops.push(f); add_rels(opts.rels, 2, f, RELS.CORE_PROPS); f = "docProps/app.xml"; - if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); @@ -11468,17 +11883,18 @@ function write_zip(wb, opts) { zip.file('xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); return zip; } -function firstbyte(f,o) { +function firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:number*/ { switch((o||{}).type || "base64") { case 'buffer': return f[0]; case 'base64': return Base64.decode(f.substr(0,12)).charCodeAt(0); case 'binary': return f.charCodeAt(0); case 'array': return f[0]; - default: throw new Error("Unrecognized type " + o.type); + default: throw new Error("Unrecognized type " + (o ? o.type : "undefined")); } } -function read_zip(data, opts) { +function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { + /*:: if(!jszip) throw new Error("JSZip is not available"); */ var zip, d = data; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; @@ -11486,39 +11902,34 @@ function read_zip(data, opts) { case "base64": zip = new jszip(d, { base64:true }); break; case "binary": case "array": zip = new jszip(d, { base64:false }); break; case "buffer": zip = new jszip(d); break; - case "file": zip=new jszip(d=_fs.readFileSync(data)); break; default: throw new Error("Unrecognized type " + o.type); } return parse_zip(zip, o); } -function readSync(data, opts) { - var zip, d = data, isfile = false, n; +function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { + var zip, d = data, n=0; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } + if(o.type == "file") { o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: - if(isfile) o.type = "file"; - return parse_xlscfb(CFB.read(data, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); + case 0xD0: return parse_xlscfb(CFB.read(d, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); case 0x3C: return parse_xlml(d, o); - case 0x50: - if(isfile) o.type = "file"; - return read_zip(data, opts); + case 0x50: return read_zip(d, o); default: throw new Error("Unsupported file " + n); } } -function readFileSync(data, opts) { +function readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var o = opts||{}; o.type = 'file'; - return readSync(data, o); + return readSync(filename, o); } -function write_zip_type(wb, opts) { +function write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/) { var o = opts||{}; var z = write_zip(wb, o); var oopts = {}; - if(opts.compression) oopts.compression = 'DEFLATE'; + if(o.compression) oopts.compression = 'DEFLATE'; switch(o.type) { case "base64": oopts.type = "base64"; break; case "binary": oopts.type = "string"; break; @@ -11530,15 +11941,16 @@ function write_zip_type(wb, opts) { return z.generate(oopts); } -function writeSync(wb, opts) { +function writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) { var o = opts||{}; switch(o.bookType) { case 'xml': return write_xlml(wb, o); + case 'biff2': return write_biff(wb, o); default: return write_zip_type(wb, o); } } -function writeFileSync(wb, filename, opts) { +function writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) { var o = opts||{}; o.type = 'file'; o.file = filename; if(!o.bookType) switch(o.file.substr(-5).toLowerCase()) { @@ -11546,36 +11958,36 @@ function writeFileSync(wb, filename, opts) { case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; default: switch(o.file.substr(-4).toLowerCase()) { - case '.xls': o.bookType = 'xls'; break; + case '.xls': o.bookType = 'biff2'; break; case '.xml': o.bookType = 'xml'; break; case '.ods': o.bookType = 'ods'; break; }} return writeSync(wb, o); } -function decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; } -function encode_row(row) { return "" + (row + 1); } -function fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } -function unfix_row(cstr) { return cstr.replace(/\$(\d+)$/,"$1"); } +function decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; } +function encode_row(row/*:number*/)/*:string*/ { return "" + (row + 1); } +function fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } +function unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\$(\d+)$/,"$1"); } -function decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; } -function encode_col(col) { var s=""; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; } -function fix_col(cstr) { return cstr.replace(/^([A-Z])/,"$$$1"); } -function unfix_col(cstr) { return cstr.replace(/^\$([A-Z])/,"$1"); } +function 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; } +function encode_col(col/*:number*/)/*:string*/ { var s=""; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; } +function fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,"$$$1"); } +function unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\$([A-Z])/,"$1"); } -function split_cell(cstr) { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } -function decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } -function encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); } -function fix_cell(cstr) { return fix_col(fix_row(cstr)); } -function unfix_cell(cstr) { return unfix_col(unfix_row(cstr)); } -function decode_range(range) { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; } -function encode_range(cs,ce) { +function split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } +function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } +function encode_cell(cell/*:Cell*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); } +function fix_cell(cstr/*:string*/)/*:string*/ { return fix_col(fix_row(cstr)); } +function unfix_cell(cstr/*:string*/)/*:string*/ { return unfix_col(unfix_row(cstr)); } +function decode_range(range/*:string*/)/*:Range*/ { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; } +function encode_range(cs/*:any*/,ce/*:?any*/)/*:string*/ { if(ce === undefined || typeof ce === 'number') return encode_range(cs.s, cs.e); if(typeof cs !== 'string') cs = encode_cell(cs); if(typeof ce !== 'string') ce = encode_cell(ce); return cs == ce ? cs : cs + ":" + ce; } -function safe_decode_range(range) { +function safe_decode_range(range/*:string*/)/*:Range*/ { var o = {s:{c:0,r:0},e:{c:0,r:0}}; var idx = 0, i = 0, cc = 0; var len = range.length; @@ -11607,20 +12019,20 @@ function safe_decode_range(range) { return o; } -function safe_format_cell(cell, v) { +function safe_format_cell(cell/*:Cell*/, v/*:any*/) { if(cell.z !== undefined) try { return (cell.w = SSF.format(cell.z, v)); } catch(e) { } if(!cell.XF) return v; try { return (cell.w = SSF.format(cell.XF.ifmt||0, v)); } catch(e) { return ''+v; } } -function format_cell(cell, v) { +function format_cell(cell/*:Cell*/, v/*:any*/) { if(cell == null || cell.t == null) return ""; if(cell.w !== undefined) return cell.w; if(v === undefined) return safe_format_cell(cell, cell.v); return safe_format_cell(cell, v); } -function sheet_to_json(sheet, opts){ +function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/){ var val, row, range, header = 0, offset = 1, r, hdr = [], isempty, R, C, v; var o = opts != null ? opts : {}; var raw = o.raw; @@ -11682,9 +12094,9 @@ function sheet_to_json(sheet, opts){ return out; } -function sheet_to_row_object_array(sheet, opts) { return sheet_to_json(sheet, opts != null ? opts : {}); } +function sheet_to_row_object_array(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { return sheet_to_json(sheet, opts != null ? opts : {}); } -function sheet_to_csv(sheet, opts) { +function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { var out = "", txt = "", qreg = /"/g; var o = opts == null ? {} : opts; if(sheet == null || sheet["!ref"] == null) return ""; @@ -11711,7 +12123,7 @@ function sheet_to_csv(sheet, opts) { } var make_csv = sheet_to_csv; -function sheet_to_formulae(sheet) { +function sheet_to_formulae(sheet/*:Worksheet*/) { var cmds, y = "", x, val=""; if(sheet == null || sheet["!ref"] == null) return ""; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; diff --git a/xlsx.js b/xlsx.js index 03ddef9..4fbd855 100644 --- a/xlsx.js +++ b/xlsx.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.2'; +XLSX.version = '0.8.3'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -851,7 +851,7 @@ SSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[ }; make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap = { +var XLMLFormatMap/*{[string]:string}*/ = ({ "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -868,7 +868,7 @@ var XLMLFormatMap = { "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}; +}); var DO_NOT_EXPORT_CFB = true; /* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ @@ -1258,25 +1258,25 @@ function isval(x) { return x !== undefined && x !== null; } function keys(o) { return Object.keys(o); } function evert_key(obj, key) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; return o; } function evert(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i]; return o; } function evert_num(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10); return o; } function evert_arr(obj) { - var o = [], K = keys(obj); + var o = ([]), K = keys(obj); for(var i = 0; i !== K.length; ++i) { if(o[obj[K[i]]] == null) o[obj[K[i]]] = []; o[obj[K[i]]].push(K[i]); @@ -1297,21 +1297,25 @@ function cc2str(arr) { return o; } -function getdata(data) { +function getdatastr(data) { if(!data) return null; - if(data.name.substr(-4) === ".bin") { - if(data.data) return char_codes(data.data); - if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); - if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); - } else { - if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(data.data); - if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom_xml(data.asBinary()); - if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); - } + if(data.data) return debom_xml(data.data); + if(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary')); + if(data.asBinary) return debom_xml(data.asBinary()); + if(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0))); return null; } +function getdatabin(data) { + if(!data) return null; + if(data.data) return char_codes(data.data); + if(data.asNodeBuffer && has_buf) return data.asNodeBuffer(); + if(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent()); + return null; +} + +function getdata(data) { return (data && data.name.substr(data.name.length-4) === ".bin") ? getdatabin(data) : getdatastr(data); } + function safegetzipfile(zip, file) { var f = file; if(zip.files[f]) return zip.files[f]; f = file.toLowerCase(); if(zip.files[f]) return zip.files[f]; @@ -1331,12 +1335,17 @@ function getzipdata(zip, file, safe) { try { return getzipdata(zip, file); } catch(e) { return null; } } +function getzipstr(zip, file, safe) { + if(!safe) return getdatastr(getzipfile(zip, file)); + if(!file) return null; + try { return getzipstr(zip, file); } catch(e) { return null; } +} + var _fs, jszip; if(typeof JSZip !== 'undefined') jszip = JSZip; if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { - if(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip'); - if(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip; + if(typeof jszip === 'undefined') jszip = require('./js'+'zip'); _fs = require('f'+'s'); } } @@ -1344,7 +1353,7 @@ var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag, skip_root) { - var z = []; + var z = ([]); var eq = 0, c = 0; for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break; if(!skip_root) z[0] = tag.substr(0, eq); @@ -1375,7 +1384,7 @@ var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) var unescapexml = (function() { var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]+)_/g; - return function unescapexml(text){ + return function unescapexml(text) { var s = text + ''; return s.replace(encregex, function($$) { return encodings[$$]; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));}); }; @@ -1448,7 +1457,7 @@ if(has_buf) { var matchtag = (function() { var mtcache = {}; return function matchtag(f,g) { - var t = f+"|"+g; + var t = f+"|"+(g||""); if(mtcache[t] !== undefined) return mtcache[t]; return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',(g||""))); }; @@ -1464,7 +1473,7 @@ function parseVector(data) { var h = parsexmltag(data); var matches = data.match(vtregex(h.baseType))||[]; - if(matches.length != h.size) throw "unexpected vector length " + matches.length + " != " + h.size; + if(matches.length != h.size) throw new Error("unexpected vector length " + matches.length + " != " + h.size); var res = []; matches.forEach(function(x) { var v = x.replace(vtvregex,"").match(vtmregex); @@ -1479,7 +1488,7 @@ function writetag(f,g) {return '<' + f + (g.match(wtregex)?' xml:space="preserve function wxt_helper(h) { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } function writextag(f,g,h) { return '<' + f + (isval(h) ? wxt_helper(h) : "") + (isval(g) ? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + g + '';} -function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } +function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } function write_vt(s) { switch(typeof s) { @@ -1492,7 +1501,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = { +var XMLNS = ({ 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -1502,7 +1511,7 @@ var XMLNS = { 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsd': 'http://www.w3.org/2001/XMLSchema' -}; +}); XMLNS.main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', @@ -1511,22 +1520,30 @@ XMLNS.main = [ 'http://schemas.microsoft.com/office/excel/2006/2' ]; -function readIEEE754(buf, idx, isLE, nl, ml) { - if(isLE === undefined) isLE = true; - if(!nl) nl = 8; - if(!ml && nl === 8) ml = 52; - var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; - var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; +function read_double_le(b, idx) { + var s = 1 - 2 * (b[idx + 7] >>> 7); + var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); + var m = (b[idx+6]&0x0f); + for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; + if(e == 0x7ff) return m == 0 ? s * Infinity : NaN; + if(e == 0) e = -1022; + else { e -= 1023; m += Math.pow(2,52); } + return s * Math.pow(2, e - 52) * m; +} - i += d; - e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; - for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); - m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; - for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); - if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); - else if (e === 0) e = 1 - eBias; - else { m = m + Math.pow(2, ml); e = e - eBias; } - return (s ? -1 : 1) * m * Math.pow(2, e - ml); +function write_double_le(b, v, idx) { + var bs = ((v < 0 || 1/v == -Infinity) ? 1 : 0) << 7, e = 0, m = 0; + var av = bs ? -v : v; + if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } + else { + e = Math.floor(Math.log(av) * Math.LOG2E); + m = v * Math.pow(2, 52 - e); + if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } + else { m -= Math.pow(2,52); e+=1023; } + } + for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; + b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; + b[idx + 7] = (e >> 4) | bs; } var __toBuffer, ___toBuffer; @@ -1542,7 +1559,7 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur var __lpwstr, ___lpwstr; __lpwstr = ___lpwstr = function lpwstr_(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";}; var __double, ___double; -__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; +__double = ___double = function(b, idx) { return read_double_le(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; if(has_buf) { @@ -1550,7 +1567,7 @@ if(has_buf) { __hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); }; __lpstr = function lpstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : "";}; __lpwstr = function lpwstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);}; - __utf8 = function utf8_b(s,e) { return this.toString('utf8',s,e); }; + __utf8 = function utf8_b(b, s,e) { return b.toString('utf8',s,e); }; __toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);}; bconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); }; __double = function double_(b,i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); }; @@ -1638,20 +1655,27 @@ function ReadShift(size, t) { this.l+=size; return o; } +var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; +var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; +var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; + function WriteShift(t, val, f) { var size, i; if(f === 'dbcs') { - for(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; + } else if(f === 'sbcs') { + for(i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 0xFF; + size = val.length; } else switch(t) { - case 1: size = 1; this[this.l] = val&255; break; - case 2: size = 2; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; break; - case 3: size = 3; this[this.l] = val&255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l+2] = val&255; break; - case 4: size = 4; this.writeUInt32LE(val, this.l); break; - case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } + case 1: size = 1; this[this.l] = val&0xFF; break; + case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; + case 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; + case 4: size = 4; __writeUInt32LE(this, val, this.l); break; + case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; this.writeInt32LE(val, this.l); break; + case -4: size = 4; __writeInt32LE(this, val, this.l); break; } this.l += size; return this; } @@ -1681,6 +1705,7 @@ function new_buf(sz) { /* [MS-XLSB] 2.1.4 Record */ function recordhopper(data, cb, opts) { + if(!data) return; var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -1707,13 +1732,14 @@ function buf_array() { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { + if(!curbuf) return; if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(sz < curbuf.length - curbuf.l) return curbuf; + if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -1725,11 +1751,12 @@ function buf_array() { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return { next:next, push:push, end:end, _bufs:bufs }; + return ({ next:next, push:push, end:end, _bufs:bufs }); } function write_record(ba, type, payload, length) { - var t = evert_RE[type], l; + var t = Number(evert_RE[type]), l; + if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; @@ -1793,11 +1820,10 @@ var make_offcrypto = function(O, _crypto) { return out; }; - if(crypto) { - O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; - } else { - O.md5 = function(hex) { throw "unimplemented"; }; - } + O.md5 = function(hex) { + if(!crypto) throw new Error("Unsupported crypto"); + return crypto.createHash('md5').update(hex).digest('hex'); + }; }; make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); @@ -1813,7 +1839,7 @@ function parse_RichStr(data, length) { var flags = data.read_shift(1); var str = parse_XLWideString(data); var rgsStrRun = []; - var z = { t: str, h: str }; + var z = ({ t: str, h: str }); if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -1846,7 +1872,7 @@ function parse_XLSBCell(data) { function write_XLSBCell(cell, o) { if(o == null) o = new_buf(8); o.write_shift(-4, cell.c); - o.write_shift(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); + o.write_shift(3, cell.iStyleRef || cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -1906,7 +1932,7 @@ function write_RkNumber(data, o) { /* [MS-XLSB] 2.5.153 */ function parse_UncheckedRfX(data) { - var cell = {s: {}, e: {}}; + var cell = ({s: {}, e: {}}); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); cell.s.c = data.read_shift(4); @@ -1931,15 +1957,15 @@ function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f' /* [MS-XLSB] 2.5.198.2 */ var BErr = { - 0x00: "#NULL!", - 0x07: "#DIV/0!", - 0x0F: "#VALUE!", - 0x17: "#REF!", - 0x1D: "#NAME?", - 0x24: "#NUM!", - 0x2A: "#N/A", - 0x2B: "#GETTING_DATA", - 0xFF: "#WTF?" +0x00: "#NULL!", +0x07: "#DIV/0!", +0x0F: "#VALUE!", +0x17: "#REF!", +0x1D: "#NAME?", +0x24: "#NUM!", +0x2A: "#N/A", +0x2B: "#GETTING_DATA", +0xFF: "#WTF?" }; var RBErr = evert_num(BErr); @@ -2016,62 +2042,62 @@ function parse_FontFlags(data, length) { /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Category', t: VT_STRING }, - 0x03: { n: 'PresentationFormat', t: VT_STRING }, - 0x04: { n: 'ByteCount', t: VT_I4 }, - 0x05: { n: 'LineCount', t: VT_I4 }, - 0x06: { n: 'ParagraphCount', t: VT_I4 }, - 0x07: { n: 'SlideCount', t: VT_I4 }, - 0x08: { n: 'NoteCount', t: VT_I4 }, - 0x09: { n: 'HiddenCount', t: VT_I4 }, - 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, - 0x0b: { n: 'Scale', t: VT_BOOL }, - 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, - 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, - 0x0e: { n: 'Manager', t: VT_STRING }, - 0x0f: { n: 'Company', t: VT_STRING }, - 0x10: { n: 'LinksDirty', t: VT_BOOL }, - 0x11: { n: 'CharacterCount', t: VT_I4 }, - 0x13: { n: 'SharedDoc', t: VT_BOOL }, - 0x16: { n: 'HLinksChanged', t: VT_BOOL }, - 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, - 0x1A: { n: 'ContentType', t: VT_STRING }, - 0x1B: { n: 'ContentStatus', t: VT_STRING }, - 0x1C: { n: 'Language', t: VT_STRING }, - 0x1D: { n: 'Version', t: VT_STRING }, - 0xFF: {} +0x01: { n: 'CodePage', t: VT_I2 }, +0x02: { n: 'Category', t: VT_STRING }, +0x03: { n: 'PresentationFormat', t: VT_STRING }, +0x04: { n: 'ByteCount', t: VT_I4 }, +0x05: { n: 'LineCount', t: VT_I4 }, +0x06: { n: 'ParagraphCount', t: VT_I4 }, +0x07: { n: 'SlideCount', t: VT_I4 }, +0x08: { n: 'NoteCount', t: VT_I4 }, +0x09: { n: 'HiddenCount', t: VT_I4 }, +0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, +0x0b: { n: 'Scale', t: VT_BOOL }, +0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, +0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, +0x0e: { n: 'Manager', t: VT_STRING }, +0x0f: { n: 'Company', t: VT_STRING }, +0x10: { n: 'LinksDirty', t: VT_BOOL }, +0x11: { n: 'CharacterCount', t: VT_I4 }, +0x13: { n: 'SharedDoc', t: VT_BOOL }, +0x16: { n: 'HLinksChanged', t: VT_BOOL }, +0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, +0x1A: { n: 'ContentType', t: VT_STRING }, +0x1B: { n: 'ContentStatus', t: VT_STRING }, +0x1C: { n: 'Language', t: VT_STRING }, +0x1D: { n: 'Version', t: VT_STRING }, +0xFF: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { - 0x01: { n: 'CodePage', t: VT_I2 }, - 0x02: { n: 'Title', t: VT_STRING }, - 0x03: { n: 'Subject', t: VT_STRING }, - 0x04: { n: 'Author', t: VT_STRING }, - 0x05: { n: 'Keywords', t: VT_STRING }, - 0x06: { n: 'Comments', t: VT_STRING }, - 0x07: { n: 'Template', t: VT_STRING }, - 0x08: { n: 'LastAuthor', t: VT_STRING }, - 0x09: { n: 'RevNumber', t: VT_STRING }, - 0x0A: { n: 'EditTime', t: VT_FILETIME }, - 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, - 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, - 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, - 0x0E: { n: 'PageCount', t: VT_I4 }, - 0x0F: { n: 'WordCount', t: VT_I4 }, - 0x10: { n: 'CharCount', t: VT_I4 }, - 0x11: { n: 'Thumbnail', t: VT_CF }, - 0x12: { n: 'ApplicationName', t: VT_LPSTR }, - 0x13: { n: 'DocumentSecurity', t: VT_I4 }, - 0xFF: {} +0x01: { n: 'CodePage', t: VT_I2 }, +0x02: { n: 'Title', t: VT_STRING }, +0x03: { n: 'Subject', t: VT_STRING }, +0x04: { n: 'Author', t: VT_STRING }, +0x05: { n: 'Keywords', t: VT_STRING }, +0x06: { n: 'Comments', t: VT_STRING }, +0x07: { n: 'Template', t: VT_STRING }, +0x08: { n: 'LastAuthor', t: VT_STRING }, +0x09: { n: 'RevNumber', t: VT_STRING }, +0x0A: { n: 'EditTime', t: VT_FILETIME }, +0x0B: { n: 'LastPrinted', t: VT_FILETIME }, +0x0C: { n: 'CreatedDate', t: VT_FILETIME }, +0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, +0x0E: { n: 'PageCount', t: VT_I4 }, +0x0F: { n: 'WordCount', t: VT_I4 }, +0x10: { n: 'CharCount', t: VT_I4 }, +0x11: { n: 'Thumbnail', t: VT_CF }, +0x12: { n: 'ApplicationName', t: VT_LPSTR }, +0x13: { n: 'DocumentSecurity', t: VT_I4 }, +0xFF: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { - 0x80000000: { n: 'Locale', t: VT_UI4 }, - 0x80000003: { n: 'Behavior', t: VT_UI4 }, - 0x72627262: {} +0x80000000: { n: 'Locale', t: VT_UI4 }, +0x80000003: { n: 'Behavior', t: VT_UI4 }, +0x72627262: {} }; (function() { @@ -2081,56 +2107,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { - 0x0001: "US", // United States - 0x0002: "CA", // Canada - 0x0003: "", // Latin America (except Brazil) - 0x0007: "RU", // Russia - 0x0014: "EG", // Egypt - 0x001E: "GR", // Greece - 0x001F: "NL", // Netherlands - 0x0020: "BE", // Belgium - 0x0021: "FR", // France - 0x0022: "ES", // Spain - 0x0024: "HU", // Hungary - 0x0027: "IT", // Italy - 0x0029: "CH", // Switzerland - 0x002B: "AT", // Austria - 0x002C: "GB", // United Kingdom - 0x002D: "DK", // Denmark - 0x002E: "SE", // Sweden - 0x002F: "NO", // Norway - 0x0030: "PL", // Poland - 0x0031: "DE", // Germany - 0x0034: "MX", // Mexico - 0x0037: "BR", // Brazil - 0x003d: "AU", // Australia - 0x0040: "NZ", // New Zealand - 0x0042: "TH", // Thailand - 0x0051: "JP", // Japan - 0x0052: "KR", // Korea - 0x0054: "VN", // Viet Nam - 0x0056: "CN", // China - 0x005A: "TR", // Turkey - 0x0069: "JS", // Ramastan - 0x00D5: "DZ", // Algeria - 0x00D8: "MA", // Morocco - 0x00DA: "LY", // Libya - 0x015F: "PT", // Portugal - 0x0162: "IS", // Iceland - 0x0166: "FI", // Finland - 0x01A4: "CZ", // Czech Republic - 0x0376: "TW", // Taiwan - 0x03C1: "LB", // Lebanon - 0x03C2: "JO", // Jordan - 0x03C3: "SY", // Syria - 0x03C4: "IQ", // Iraq - 0x03C5: "KW", // Kuwait - 0x03C6: "SA", // Saudi Arabia - 0x03CB: "AE", // United Arab Emirates - 0x03CC: "IL", // Israel - 0x03CE: "QA", // Qatar - 0x03D5: "IR", // Iran - 0xFFFF: "US" // United States +0x0001: "US", // United States +0x0002: "CA", // Canada +0x0003: "", // Latin America (except Brazil) +0x0007: "RU", // Russia +0x0014: "EG", // Egypt +0x001E: "GR", // Greece +0x001F: "NL", // Netherlands +0x0020: "BE", // Belgium +0x0021: "FR", // France +0x0022: "ES", // Spain +0x0024: "HU", // Hungary +0x0027: "IT", // Italy +0x0029: "CH", // Switzerland +0x002B: "AT", // Austria +0x002C: "GB", // United Kingdom +0x002D: "DK", // Denmark +0x002E: "SE", // Sweden +0x002F: "NO", // Norway +0x0030: "PL", // Poland +0x0031: "DE", // Germany +0x0034: "MX", // Mexico +0x0037: "BR", // Brazil +0x003d: "AU", // Australia +0x0040: "NZ", // New Zealand +0x0042: "TH", // Thailand +0x0051: "JP", // Japan +0x0052: "KR", // Korea +0x0054: "VN", // Viet Nam +0x0056: "CN", // China +0x005A: "TR", // Turkey +0x0069: "JS", // Ramastan +0x00D5: "DZ", // Algeria +0x00D8: "MA", // Morocco +0x00DA: "LY", // Libya +0x015F: "PT", // Portugal +0x0162: "IS", // Iceland +0x0166: "FI", // Finland +0x01A4: "CZ", // Czech Republic +0x0376: "TW", // Taiwan +0x03C1: "LB", // Lebanon +0x03C2: "JO", // Jordan +0x03C3: "SY", // Syria +0x03C4: "IQ", // Iraq +0x03C5: "KW", // Kuwait +0x03C6: "SA", // Saudi Arabia +0x03CB: "AE", // United Arab Emirates +0x03CC: "IL", // Israel +0x03CE: "QA", // Qatar +0x03D5: "IR", // Iran +0xFFFF: "US" // United States }; /* [MS-XLS] 2.5.127 */ @@ -2241,7 +2267,7 @@ var XLSIcv = rgbify([ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type = { +var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -2379,7 +2405,7 @@ var ct2type = { "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}; +}); var CT_LIST = (function(){ var o = { @@ -2407,16 +2433,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct = evert_arr(ct2type); +var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; function parse_ct(data, opts) { - var ctext = {}; - if(!data || !data.match) return data; - var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], + var ct = ({ workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], - TODO:[], rels:[], xmlns: "" }; + TODO:[], rels:[], xmlns: "" }); + if(!data || !data.match) return ct; + var ctext = {}; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -2491,10 +2517,10 @@ function write_ct(ct, opts) { return o.join(""); } /* 9.3.2 OPC Relationships Markup */ -var RELS = { +var RELS = ({ WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument" -}; +}); function parse_rels(data, currentFilePath) { if (!data) return data; @@ -2519,7 +2545,7 @@ function parse_rels(data, currentFilePath) { return toksFrom.join('/'); }; - data.match(tagregex).forEach(function(x) { + (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === ' utf8, 0x1 -> dbcs - var cRun, cbExtRst; + var cRun = 0, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -3133,7 +3159,7 @@ function parse_XLUnicodeString(blob, length, opts) { } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff !== 5 && opts.biff !== 2) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); var cch = blob.read_shift(1); if(cch === 0) { blob.l++; return ""; } return blob.read_shift(cch, 'sbcs-cont'); @@ -3224,7 +3250,7 @@ function parse_XLSCell(blob, length) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return {r:rw, c:col, ixfe:ixfe}; + return ({r:rw, c:col, ixfe:ixfe}); } /* 2.5.134 */ @@ -3320,22 +3346,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { - 0x15: parse_FtCmo, - 0x13: parsenoop, /* FtLbsData */ - 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ - 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ - 0x10: parsenoop, /* FtEdoData */ - 0x0F: parsenoop, /* FtGboData */ - 0x0D: parse_FtNts, /* FtNts */ - 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ - 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ - 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ - 0x09: parsenoop, /* FtPictFmla */ - 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ - 0x07: parse_FtCf, /* FtCf */ - 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ - 0x04: parsenoop, /* FtMacro */ - 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ +0x15: parse_FtCmo, +0x13: parsenoop, /* FtLbsData */ +0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ +0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ +0x10: parsenoop, /* FtEdoData */ +0x0F: parsenoop, /* FtGboData */ +0x0D: parse_FtNts, /* FtNts */ +0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ +0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ +0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ +0x09: parsenoop, /* FtPictFmla */ +0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ +0x07: parse_FtCf, /* FtCf */ +0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ +0x04: parsenoop, /* FtMacro */ +0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -3365,7 +3391,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: throw "Unexpected BIFF Ver " + o.BIFFVer; + default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); } blob.read_shift(length); return o; @@ -3394,7 +3420,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) >> 6; + var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -3460,7 +3486,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = blob.read_shift(2), miyRw; + var f = length == 4 ? blob.read_shift(2) : 0, miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -3503,6 +3529,7 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } +var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ function parse_Dimensions(blob, length) { @@ -3561,13 +3588,14 @@ function parse_Guts(blob, length) { var out = [blob.read_shift(2), blob.read_shift(2)]; if(out[0] !== 0) out[0]--; if(out[1] !== 0) out[1]--; - if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out.join("|"); return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length) { +function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -3600,7 +3628,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = { + var o = ({ fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -3608,7 +3636,7 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }; + }); if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); @@ -3617,7 +3645,6 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { - if(opts.biff < 8) return parse_Label(blob, length, opts); var target = blob.l + length; var flags = blob.read_shift(2); var chKey = blob.read_shift(1); @@ -3705,6 +3732,7 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; + var texts = ""; try { blob.l += 4; var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; @@ -3718,7 +3746,6 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); - var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -3739,7 +3766,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts||"" }; } +} catch(e) { blob.l = s + length; return { t: texts }; } } /* 2.4.140 */ @@ -4134,33 +4161,56 @@ function parse_BIFF2NUM(blob, length, opts) { return cell; } +function parse_BIFF2INT(blob, length) { + var cell = parse_XLSCell(blob, 6); + ++blob.l; + var num = blob.read_shift(2); + cell.val = num; + return cell; +} + +function parse_BIFF2STRING(blob, length) { + var cch = blob.read_shift(1); + if(cch === 0) { blob.l++; return ""; } + return blob.read_shift(cch, 'sbcs-cont'); +} + +/* TODO: convert to BIFF8 font struct */ +function parse_BIFF2FONTXTRA(blob, length) { + blob.l += 6; // unknown + blob.l += 2; // font weight "bls" + blob.l += 1; // charset + blob.l += 3; // unknown + blob.l += 1; // font family + blob.l += length - 9; +} /* 18.4.1 charset to codepage mapping */ -var CS2CP = { - 0: 1252, /* ANSI */ - 1: 65001, /* DEFAULT */ - 2: 65001, /* SYMBOL */ - 77: 10000, /* MAC */ - 128: 932, /* SHIFTJIS */ - 129: 949, /* HANGUL */ - 130: 1361, /* JOHAB */ - 134: 936, /* GB2312 */ - 136: 950, /* CHINESEBIG5 */ - 161: 1253, /* GREEK */ - 162: 1254, /* TURKISH */ - 163: 1258, /* VIETNAMESE */ - 177: 1255, /* HEBREW */ - 178: 1256, /* ARABIC */ - 186: 1257, /* BALTIC */ - 204: 1251, /* RUSSIAN */ - 222: 874, /* THAI */ - 238: 1250, /* EASTEUROPE */ - 255: 1252, /* OEM */ - 69: 6969 /* MISC */ -}; +var CS2CP = ({ +0: 1252, /* ANSI */ +1: 65001, /* DEFAULT */ +2: 65001, /* SYMBOL */ +77: 10000, /* MAC */ +128: 932, /* SHIFTJIS */ +129: 949, /* HANGUL */ +130: 1361, /* JOHAB */ +134: 936, /* GB2312 */ +136: 950, /* CHINESEBIG5 */ +161: 1253, /* GREEK */ +162: 1254, /* TURKISH */ +163: 1258, /* VIETNAMESE */ +177: 1255, /* HEBREW */ +178: 1256, /* ARABIC */ +186: 1257, /* BALTIC */ +204: 1251, /* RUSSIAN */ +222: 874, /* THAI */ +238: 1250, /* EASTEUROPE */ +255: 1252, /* OEM */ +69: 6969 /* MISC */ +}); /* Parse a list of tags */ var parse_rs = (function parse_rs_factory() { - var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; + var tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = /<(?:\w+:)?r>/g, rend = /<\/(?:\w+:)?r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -4271,22 +4321,22 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; +var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.charCodeAt(1) === 116) { - z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { z.r = x; - z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ @@ -4295,11 +4345,12 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /]*)>([\s\S]*)<\/sst>/; -var sstr1 = /<(?:si|sstItem)>/g; -var sstr2 = /<\/(?:si|sstItem)>/; +var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; +var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; +var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; function parse_sst_xml(data, opts) { - var s = [], ss; + var s = ([]), ss = ""; + if(!data) return s; /* 18.4.9 sst CT_Sst */ var sst = data.match(sstr0); if(isval(sst)) { @@ -4377,7 +4428,12 @@ function write_sst_bin(sst, opts) { write_record(ba, "BrtEndSst"); return ba.end(); } -function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } +function _JS2ANSI(str) { + if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); + var o = [], oo = str.split(""); + for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); + return o; +} /* [MS-OFFCRYPTO] 2.1.4 Version */ function parse_Version(blob, length) { @@ -4527,7 +4583,7 @@ var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArra var crypto_MakeXorDecryptor = function(password) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -4535,7 +4591,7 @@ var crypto_MakeXorDecryptor = function(password) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = { key: parseuint16(blob), verificationBytes: parseuint16(blob) }; + var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }); if(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password); out.valid = o.verificationBytes === o.verifier; if(out.valid) out.insitu_decrypt = crypto_MakeXorDecryptor(opts.password); @@ -4685,7 +4741,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); } }); } @@ -4693,9 +4749,10 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k = keys(SSF._table); + var k/*Array*/ = (keys(SSF._table)); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); + if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -4704,7 +4761,7 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; + default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); } } } @@ -4765,6 +4822,7 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { + if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -4823,7 +4881,7 @@ function parse_BrtFmt(data, length) { /* [MS-XLSB] 2.4.653 BrtFont TODO */ function parse_BrtFont(data, length) { - var out = {flags:{}}; + var out = ({flags:{}}); out.dyHeight = data.read_shift(2); out.grbit = parse_FontFlags(data, 2); out.bls = data.read_shift(2); @@ -4858,7 +4916,7 @@ function parse_BrtXF(data, length) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = []; + styles.NumberFmt = ([]); for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; @@ -4953,7 +5011,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - t[0].match(tagregex).forEach(function(x) { + (t[0].match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -5037,7 +5095,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; + if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); m[2](t, opts); }); } @@ -5058,7 +5116,175 @@ function parse_theme_xml(data, opts) { return themes; } -function write_theme() { return '\n'; } +function write_theme() { + var o = [XML_HEADER]; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + o[o.length] = ''; + return o.join(""); +} /* [MS-XLS] 2.4.326 TODO: payload is a zip file */ function parse_Theme(blob, length) { var dwThemeVersion = blob.read_shift(4); @@ -5140,6 +5366,7 @@ function update_xfext(xf, xfext) { /* 18.6 Calculation Chain */ function parse_cc_xml(data, opts) { var d = []; + if(!data) return d; var l = 0, i = 1; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); @@ -5221,7 +5448,7 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = {a: comment.author, t: comment.t, r: comment.r}; + var o = ({a: comment.author, t: comment.t, r: comment.r}); if(comment.h) o.h = comment.h; cell.c.push(o); }); @@ -5232,19 +5459,25 @@ function parse_comments_xml(data, opts) { if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { + var authtag = data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/); + if(authtag && authtag[1]) authtag[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); + var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); + if(a) authors.push(a[1]); }); - (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); + if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); - var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; + var cm = x.match(/<(?:\w+:)?comment[^>]*>/); + if(!cm) return; + var y = parsexmltag(cm[0]); + var comment = ({ author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }); var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; - var textMatch = x.match(/([^\u2603]*)<\/text>/); + var textMatch = x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); + if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; @@ -5672,100 +5905,106 @@ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { - 0x01: { n:'PtgExp', f:parse_PtgExp }, - 0x02: { n:'PtgTbl', f:parse_PtgTbl }, - 0x03: { n:'PtgAdd', f:parse_PtgAdd }, - 0x04: { n:'PtgSub', f:parse_PtgSub }, - 0x05: { n:'PtgMul', f:parse_PtgMul }, - 0x06: { n:'PtgDiv', f:parse_PtgDiv }, - 0x07: { n:'PtgPower', f:parse_PtgPower }, - 0x08: { n:'PtgConcat', f:parse_PtgConcat }, - 0x09: { n:'PtgLt', f:parse_PtgLt }, - 0x0A: { n:'PtgLe', f:parse_PtgLe }, - 0x0B: { n:'PtgEq', f:parse_PtgEq }, - 0x0C: { n:'PtgGe', f:parse_PtgGe }, - 0x0D: { n:'PtgGt', f:parse_PtgGt }, - 0x0E: { n:'PtgNe', f:parse_PtgNe }, - 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, - 0x10: { n:'PtgUnion', f:parse_PtgUnion }, - 0x11: { n:'PtgRange', f:parse_PtgRange }, - 0x12: { n:'PtgUplus', f:parse_PtgUplus }, - 0x13: { n:'PtgUminus', f:parse_PtgUminus }, - 0x14: { n:'PtgPercent', f:parse_PtgPercent }, - 0x15: { n:'PtgParen', f:parse_PtgParen }, - 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, - 0x17: { n:'PtgStr', f:parse_PtgStr }, - 0x1C: { n:'PtgErr', f:parse_PtgErr }, - 0x1D: { n:'PtgBool', f:parse_PtgBool }, - 0x1E: { n:'PtgInt', f:parse_PtgInt }, - 0x1F: { n:'PtgNum', f:parse_PtgNum }, - 0x20: { n:'PtgArray', f:parse_PtgArray }, - 0x21: { n:'PtgFunc', f:parse_PtgFunc }, - 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - 0x23: { n:'PtgName', f:parse_PtgName }, - 0x24: { n:'PtgRef', f:parse_PtgRef }, - 0x25: { n:'PtgArea', f:parse_PtgArea }, - 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, - 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, - 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, - 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, - 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, - 0x39: { n:'PtgNameX', f:parse_PtgNameX }, - 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, - 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, - 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - 0xFF: {} +0x01: { n:'PtgExp', f:parse_PtgExp }, +0x02: { n:'PtgTbl', f:parse_PtgTbl }, +0x03: { n:'PtgAdd', f:parse_PtgAdd }, +0x04: { n:'PtgSub', f:parse_PtgSub }, +0x05: { n:'PtgMul', f:parse_PtgMul }, +0x06: { n:'PtgDiv', f:parse_PtgDiv }, +0x07: { n:'PtgPower', f:parse_PtgPower }, +0x08: { n:'PtgConcat', f:parse_PtgConcat }, +0x09: { n:'PtgLt', f:parse_PtgLt }, +0x0A: { n:'PtgLe', f:parse_PtgLe }, +0x0B: { n:'PtgEq', f:parse_PtgEq }, +0x0C: { n:'PtgGe', f:parse_PtgGe }, +0x0D: { n:'PtgGt', f:parse_PtgGt }, +0x0E: { n:'PtgNe', f:parse_PtgNe }, +0x0F: { n:'PtgIsect', f:parse_PtgIsect }, +0x10: { n:'PtgUnion', f:parse_PtgUnion }, +0x11: { n:'PtgRange', f:parse_PtgRange }, +0x12: { n:'PtgUplus', f:parse_PtgUplus }, +0x13: { n:'PtgUminus', f:parse_PtgUminus }, +0x14: { n:'PtgPercent', f:parse_PtgPercent }, +0x15: { n:'PtgParen', f:parse_PtgParen }, +0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, +0x17: { n:'PtgStr', f:parse_PtgStr }, +0x1C: { n:'PtgErr', f:parse_PtgErr }, +0x1D: { n:'PtgBool', f:parse_PtgBool }, +0x1E: { n:'PtgInt', f:parse_PtgInt }, +0x1F: { n:'PtgNum', f:parse_PtgNum }, +0x20: { n:'PtgArray', f:parse_PtgArray }, +0x21: { n:'PtgFunc', f:parse_PtgFunc }, +0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, +0x23: { n:'PtgName', f:parse_PtgName }, +0x24: { n:'PtgRef', f:parse_PtgRef }, +0x25: { n:'PtgArea', f:parse_PtgArea }, +0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, +0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, +0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, +0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, +0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, +0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, +0x2C: { n:'PtgRefN', f:parse_PtgRefN }, +0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, +0x39: { n:'PtgNameX', f:parse_PtgNameX }, +0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, +0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, +0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, +0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, +0xFF: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { - 0x40: 0x20, 0x60: 0x20, - 0x41: 0x21, 0x61: 0x21, - 0x42: 0x22, 0x62: 0x22, - 0x43: 0x23, 0x63: 0x23, - 0x44: 0x24, 0x64: 0x24, - 0x45: 0x25, 0x65: 0x25, - 0x46: 0x26, 0x66: 0x26, - 0x47: 0x27, 0x67: 0x27, - 0x48: 0x28, 0x68: 0x28, - 0x49: 0x29, 0x69: 0x29, - 0x4A: 0x2A, 0x6A: 0x2A, - 0x4B: 0x2B, 0x6B: 0x2B, - 0x4C: 0x2C, 0x6C: 0x2C, - 0x4D: 0x2D, 0x6D: 0x2D, - 0x59: 0x39, 0x79: 0x39, - 0x5A: 0x3A, 0x7A: 0x3A, - 0x5B: 0x3B, 0x7B: 0x3B, - 0x5C: 0x3C, 0x7C: 0x3C, - 0x5D: 0x3D, 0x7D: 0x3D +0x40: 0x20, 0x60: 0x20, +0x41: 0x21, 0x61: 0x21, +0x42: 0x22, 0x62: 0x22, +0x43: 0x23, 0x63: 0x23, +0x44: 0x24, 0x64: 0x24, +0x45: 0x25, 0x65: 0x25, +0x46: 0x26, 0x66: 0x26, +0x47: 0x27, 0x67: 0x27, +0x48: 0x28, 0x68: 0x28, +0x49: 0x29, 0x69: 0x29, +0x4A: 0x2A, 0x6A: 0x2A, +0x4B: 0x2B, 0x6B: 0x2B, +0x4C: 0x2C, 0x6C: 0x2C, +0x4D: 0x2D, 0x6D: 0x2D, +0x59: 0x39, 0x79: 0x39, +0x5A: 0x3A, 0x7A: 0x3A, +0x5B: 0x3B, 0x7B: 0x3B, +0x5C: 0x3C, 0x7C: 0x3C, +0x5D: 0x3D, 0x7D: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); var Ptg18 = {}; var Ptg19 = { - 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, - 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, - 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, - 0xFF: {} +0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, +0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, +0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, +0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, +0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, +0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, +0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, +0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, +0xFF: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var cell = parse_XLSCell(blob, 6); + if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); - blob.read_shift(1); - var chn = blob.read_shift(4); + if(opts.biff != 2) { + blob.read_shift(1); + if(opts.biff >= 5) { + var chn = blob.read_shift(4); + } + } var cbf = ""; - if(opts.biff === 5) blob.l += length-20; + if(opts.biff < 5) blob.l += length-16; + else if(opts.biff === 5) blob.l += length-20; else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -5780,6 +6019,7 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } + return []; } /* 2.5.198.103 */ @@ -6127,971 +6367,971 @@ function parse_XLSBCellParsedFormula(data, length) { } /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { - 0x1: "REFERENCE", // reference to range - 0x2: "VALUE", // single value - 0x3: "ARRAY" // array of values +0x1: "REFERENCE", // reference to range +0x2: "VALUE", // single value +0x3: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { - 0x0000: 'BEEP', - 0x0001: 'OPEN', - 0x0002: 'OPEN.LINKS', - 0x0003: 'CLOSE.ALL', - 0x0004: 'SAVE', - 0x0005: 'SAVE.AS', - 0x0006: 'FILE.DELETE', - 0x0007: 'PAGE.SETUP', - 0x0008: 'PRINT', - 0x0009: 'PRINTER.SETUP', - 0x000A: 'QUIT', - 0x000B: 'NEW.WINDOW', - 0x000C: 'ARRANGE.ALL', - 0x000D: 'WINDOW.SIZE', - 0x000E: 'WINDOW.MOVE', - 0x000F: 'FULL', - 0x0010: 'CLOSE', - 0x0011: 'RUN', - 0x0016: 'SET.PRINT.AREA', - 0x0017: 'SET.PRINT.TITLES', - 0x0018: 'SET.PAGE.BREAK', - 0x0019: 'REMOVE.PAGE.BREAK', - 0x001A: 'FONT', - 0x001B: 'DISPLAY', - 0x001C: 'PROTECT.DOCUMENT', - 0x001D: 'PRECISION', - 0x001E: 'A1.R1C1', - 0x001F: 'CALCULATE.NOW', - 0x0020: 'CALCULATION', - 0x0022: 'DATA.FIND', - 0x0023: 'EXTRACT', - 0x0024: 'DATA.DELETE', - 0x0025: 'SET.DATABASE', - 0x0026: 'SET.CRITERIA', - 0x0027: 'SORT', - 0x0028: 'DATA.SERIES', - 0x0029: 'TABLE', - 0x002A: 'FORMAT.NUMBER', - 0x002B: 'ALIGNMENT', - 0x002C: 'STYLE', - 0x002D: 'BORDER', - 0x002E: 'CELL.PROTECTION', - 0x002F: 'COLUMN.WIDTH', - 0x0030: 'UNDO', - 0x0031: 'CUT', - 0x0032: 'COPY', - 0x0033: 'PASTE', - 0x0034: 'CLEAR', - 0x0035: 'PASTE.SPECIAL', - 0x0036: 'EDIT.DELETE', - 0x0037: 'INSERT', - 0x0038: 'FILL.RIGHT', - 0x0039: 'FILL.DOWN', - 0x003D: 'DEFINE.NAME', - 0x003E: 'CREATE.NAMES', - 0x003F: 'FORMULA.GOTO', - 0x0040: 'FORMULA.FIND', - 0x0041: 'SELECT.LAST.CELL', - 0x0042: 'SHOW.ACTIVE.CELL', - 0x0043: 'GALLERY.AREA', - 0x0044: 'GALLERY.BAR', - 0x0045: 'GALLERY.COLUMN', - 0x0046: 'GALLERY.LINE', - 0x0047: 'GALLERY.PIE', - 0x0048: 'GALLERY.SCATTER', - 0x0049: 'COMBINATION', - 0x004A: 'PREFERRED', - 0x004B: 'ADD.OVERLAY', - 0x004C: 'GRIDLINES', - 0x004D: 'SET.PREFERRED', - 0x004E: 'AXES', - 0x004F: 'LEGEND', - 0x0050: 'ATTACH.TEXT', - 0x0051: 'ADD.ARROW', - 0x0052: 'SELECT.CHART', - 0x0053: 'SELECT.PLOT.AREA', - 0x0054: 'PATTERNS', - 0x0055: 'MAIN.CHART', - 0x0056: 'OVERLAY', - 0x0057: 'SCALE', - 0x0058: 'FORMAT.LEGEND', - 0x0059: 'FORMAT.TEXT', - 0x005A: 'EDIT.REPEAT', - 0x005B: 'PARSE', - 0x005C: 'JUSTIFY', - 0x005D: 'HIDE', - 0x005E: 'UNHIDE', - 0x005F: 'WORKSPACE', - 0x0060: 'FORMULA', - 0x0061: 'FORMULA.FILL', - 0x0062: 'FORMULA.ARRAY', - 0x0063: 'DATA.FIND.NEXT', - 0x0064: 'DATA.FIND.PREV', - 0x0065: 'FORMULA.FIND.NEXT', - 0x0066: 'FORMULA.FIND.PREV', - 0x0067: 'ACTIVATE', - 0x0068: 'ACTIVATE.NEXT', - 0x0069: 'ACTIVATE.PREV', - 0x006A: 'UNLOCKED.NEXT', - 0x006B: 'UNLOCKED.PREV', - 0x006C: 'COPY.PICTURE', - 0x006D: 'SELECT', - 0x006E: 'DELETE.NAME', - 0x006F: 'DELETE.FORMAT', - 0x0070: 'VLINE', - 0x0071: 'HLINE', - 0x0072: 'VPAGE', - 0x0073: 'HPAGE', - 0x0074: 'VSCROLL', - 0x0075: 'HSCROLL', - 0x0076: 'ALERT', - 0x0077: 'NEW', - 0x0078: 'CANCEL.COPY', - 0x0079: 'SHOW.CLIPBOARD', - 0x007A: 'MESSAGE', - 0x007C: 'PASTE.LINK', - 0x007D: 'APP.ACTIVATE', - 0x007E: 'DELETE.ARROW', - 0x007F: 'ROW.HEIGHT', - 0x0080: 'FORMAT.MOVE', - 0x0081: 'FORMAT.SIZE', - 0x0082: 'FORMULA.REPLACE', - 0x0083: 'SEND.KEYS', - 0x0084: 'SELECT.SPECIAL', - 0x0085: 'APPLY.NAMES', - 0x0086: 'REPLACE.FONT', - 0x0087: 'FREEZE.PANES', - 0x0088: 'SHOW.INFO', - 0x0089: 'SPLIT', - 0x008A: 'ON.WINDOW', - 0x008B: 'ON.DATA', - 0x008C: 'DISABLE.INPUT', - 0x008E: 'OUTLINE', - 0x008F: 'LIST.NAMES', - 0x0090: 'FILE.CLOSE', - 0x0091: 'SAVE.WORKBOOK', - 0x0092: 'DATA.FORM', - 0x0093: 'COPY.CHART', - 0x0094: 'ON.TIME', - 0x0095: 'WAIT', - 0x0096: 'FORMAT.FONT', - 0x0097: 'FILL.UP', - 0x0098: 'FILL.LEFT', - 0x0099: 'DELETE.OVERLAY', - 0x009B: 'SHORT.MENUS', - 0x009F: 'SET.UPDATE.STATUS', - 0x00A1: 'COLOR.PALETTE', - 0x00A2: 'DELETE.STYLE', - 0x00A3: 'WINDOW.RESTORE', - 0x00A4: 'WINDOW.MAXIMIZE', - 0x00A6: 'CHANGE.LINK', - 0x00A7: 'CALCULATE.DOCUMENT', - 0x00A8: 'ON.KEY', - 0x00A9: 'APP.RESTORE', - 0x00AA: 'APP.MOVE', - 0x00AB: 'APP.SIZE', - 0x00AC: 'APP.MINIMIZE', - 0x00AD: 'APP.MAXIMIZE', - 0x00AE: 'BRING.TO.FRONT', - 0x00AF: 'SEND.TO.BACK', - 0x00B9: 'MAIN.CHART.TYPE', - 0x00BA: 'OVERLAY.CHART.TYPE', - 0x00BB: 'SELECT.END', - 0x00BC: 'OPEN.MAIL', - 0x00BD: 'SEND.MAIL', - 0x00BE: 'STANDARD.FONT', - 0x00BF: 'CONSOLIDATE', - 0x00C0: 'SORT.SPECIAL', - 0x00C1: 'GALLERY.3D.AREA', - 0x00C2: 'GALLERY.3D.COLUMN', - 0x00C3: 'GALLERY.3D.LINE', - 0x00C4: 'GALLERY.3D.PIE', - 0x00C5: 'VIEW.3D', - 0x00C6: 'GOAL.SEEK', - 0x00C7: 'WORKGROUP', - 0x00C8: 'FILL.GROUP', - 0x00C9: 'UPDATE.LINK', - 0x00CA: 'PROMOTE', - 0x00CB: 'DEMOTE', - 0x00CC: 'SHOW.DETAIL', - 0x00CE: 'UNGROUP', - 0x00CF: 'OBJECT.PROPERTIES', - 0x00D0: 'SAVE.NEW.OBJECT', - 0x00D1: 'SHARE', - 0x00D2: 'SHARE.NAME', - 0x00D3: 'DUPLICATE', - 0x00D4: 'APPLY.STYLE', - 0x00D5: 'ASSIGN.TO.OBJECT', - 0x00D6: 'OBJECT.PROTECTION', - 0x00D7: 'HIDE.OBJECT', - 0x00D8: 'SET.EXTRACT', - 0x00D9: 'CREATE.PUBLISHER', - 0x00DA: 'SUBSCRIBE.TO', - 0x00DB: 'ATTRIBUTES', - 0x00DC: 'SHOW.TOOLBAR', - 0x00DE: 'PRINT.PREVIEW', - 0x00DF: 'EDIT.COLOR', - 0x00E0: 'SHOW.LEVELS', - 0x00E1: 'FORMAT.MAIN', - 0x00E2: 'FORMAT.OVERLAY', - 0x00E3: 'ON.RECALC', - 0x00E4: 'EDIT.SERIES', - 0x00E5: 'DEFINE.STYLE', - 0x00F0: 'LINE.PRINT', - 0x00F3: 'ENTER.DATA', - 0x00F9: 'GALLERY.RADAR', - 0x00FA: 'MERGE.STYLES', - 0x00FB: 'EDITION.OPTIONS', - 0x00FC: 'PASTE.PICTURE', - 0x00FD: 'PASTE.PICTURE.LINK', - 0x00FE: 'SPELLING', - 0x0100: 'ZOOM', - 0x0103: 'INSERT.OBJECT', - 0x0104: 'WINDOW.MINIMIZE', - 0x0109: 'SOUND.NOTE', - 0x010A: 'SOUND.PLAY', - 0x010B: 'FORMAT.SHAPE', - 0x010C: 'EXTEND.POLYGON', - 0x010D: 'FORMAT.AUTO', - 0x0110: 'GALLERY.3D.BAR', - 0x0111: 'GALLERY.3D.SURFACE', - 0x0112: 'FILL.AUTO', - 0x0114: 'CUSTOMIZE.TOOLBAR', - 0x0115: 'ADD.TOOL', - 0x0116: 'EDIT.OBJECT', - 0x0117: 'ON.DOUBLECLICK', - 0x0118: 'ON.ENTRY', - 0x0119: 'WORKBOOK.ADD', - 0x011A: 'WORKBOOK.MOVE', - 0x011B: 'WORKBOOK.COPY', - 0x011C: 'WORKBOOK.OPTIONS', - 0x011D: 'SAVE.WORKSPACE', - 0x0120: 'CHART.WIZARD', - 0x0121: 'DELETE.TOOL', - 0x0122: 'MOVE.TOOL', - 0x0123: 'WORKBOOK.SELECT', - 0x0124: 'WORKBOOK.ACTIVATE', - 0x0125: 'ASSIGN.TO.TOOL', - 0x0127: 'COPY.TOOL', - 0x0128: 'RESET.TOOL', - 0x0129: 'CONSTRAIN.NUMERIC', - 0x012A: 'PASTE.TOOL', - 0x012E: 'WORKBOOK.NEW', - 0x0131: 'SCENARIO.CELLS', - 0x0132: 'SCENARIO.DELETE', - 0x0133: 'SCENARIO.ADD', - 0x0134: 'SCENARIO.EDIT', - 0x0135: 'SCENARIO.SHOW', - 0x0136: 'SCENARIO.SHOW.NEXT', - 0x0137: 'SCENARIO.SUMMARY', - 0x0138: 'PIVOT.TABLE.WIZARD', - 0x0139: 'PIVOT.FIELD.PROPERTIES', - 0x013A: 'PIVOT.FIELD', - 0x013B: 'PIVOT.ITEM', - 0x013C: 'PIVOT.ADD.FIELDS', - 0x013E: 'OPTIONS.CALCULATION', - 0x013F: 'OPTIONS.EDIT', - 0x0140: 'OPTIONS.VIEW', - 0x0141: 'ADDIN.MANAGER', - 0x0142: 'MENU.EDITOR', - 0x0143: 'ATTACH.TOOLBARS', - 0x0144: 'VBAActivate', - 0x0145: 'OPTIONS.CHART', - 0x0148: 'VBA.INSERT.FILE', - 0x014A: 'VBA.PROCEDURE.DEFINITION', - 0x0150: 'ROUTING.SLIP', - 0x0152: 'ROUTE.DOCUMENT', - 0x0153: 'MAIL.LOGON', - 0x0156: 'INSERT.PICTURE', - 0x0157: 'EDIT.TOOL', - 0x0158: 'GALLERY.DOUGHNUT', - 0x015E: 'CHART.TREND', - 0x0160: 'PIVOT.ITEM.PROPERTIES', - 0x0162: 'WORKBOOK.INSERT', - 0x0163: 'OPTIONS.TRANSITION', - 0x0164: 'OPTIONS.GENERAL', - 0x0172: 'FILTER.ADVANCED', - 0x0175: 'MAIL.ADD.MAILER', - 0x0176: 'MAIL.DELETE.MAILER', - 0x0177: 'MAIL.REPLY', - 0x0178: 'MAIL.REPLY.ALL', - 0x0179: 'MAIL.FORWARD', - 0x017A: 'MAIL.NEXT.LETTER', - 0x017B: 'DATA.LABEL', - 0x017C: 'INSERT.TITLE', - 0x017D: 'FONT.PROPERTIES', - 0x017E: 'MACRO.OPTIONS', - 0x017F: 'WORKBOOK.HIDE', - 0x0180: 'WORKBOOK.UNHIDE', - 0x0181: 'WORKBOOK.DELETE', - 0x0182: 'WORKBOOK.NAME', - 0x0184: 'GALLERY.CUSTOM', - 0x0186: 'ADD.CHART.AUTOFORMAT', - 0x0187: 'DELETE.CHART.AUTOFORMAT', - 0x0188: 'CHART.ADD.DATA', - 0x0189: 'AUTO.OUTLINE', - 0x018A: 'TAB.ORDER', - 0x018B: 'SHOW.DIALOG', - 0x018C: 'SELECT.ALL', - 0x018D: 'UNGROUP.SHEETS', - 0x018E: 'SUBTOTAL.CREATE', - 0x018F: 'SUBTOTAL.REMOVE', - 0x0190: 'RENAME.OBJECT', - 0x019C: 'WORKBOOK.SCROLL', - 0x019D: 'WORKBOOK.NEXT', - 0x019E: 'WORKBOOK.PREV', - 0x019F: 'WORKBOOK.TAB.SPLIT', - 0x01A0: 'FULL.SCREEN', - 0x01A1: 'WORKBOOK.PROTECT', - 0x01A4: 'SCROLLBAR.PROPERTIES', - 0x01A5: 'PIVOT.SHOW.PAGES', - 0x01A6: 'TEXT.TO.COLUMNS', - 0x01A7: 'FORMAT.CHARTTYPE', - 0x01A8: 'LINK.FORMAT', - 0x01A9: 'TRACER.DISPLAY', - 0x01AE: 'TRACER.NAVIGATE', - 0x01AF: 'TRACER.CLEAR', - 0x01B0: 'TRACER.ERROR', - 0x01B1: 'PIVOT.FIELD.GROUP', - 0x01B2: 'PIVOT.FIELD.UNGROUP', - 0x01B3: 'CHECKBOX.PROPERTIES', - 0x01B4: 'LABEL.PROPERTIES', - 0x01B5: 'LISTBOX.PROPERTIES', - 0x01B6: 'EDITBOX.PROPERTIES', - 0x01B7: 'PIVOT.REFRESH', - 0x01B8: 'LINK.COMBO', - 0x01B9: 'OPEN.TEXT', - 0x01BA: 'HIDE.DIALOG', - 0x01BB: 'SET.DIALOG.FOCUS', - 0x01BC: 'ENABLE.OBJECT', - 0x01BD: 'PUSHBUTTON.PROPERTIES', - 0x01BE: 'SET.DIALOG.DEFAULT', - 0x01BF: 'FILTER', - 0x01C0: 'FILTER.SHOW.ALL', - 0x01C1: 'CLEAR.OUTLINE', - 0x01C2: 'FUNCTION.WIZARD', - 0x01C3: 'ADD.LIST.ITEM', - 0x01C4: 'SET.LIST.ITEM', - 0x01C5: 'REMOVE.LIST.ITEM', - 0x01C6: 'SELECT.LIST.ITEM', - 0x01C7: 'SET.CONTROL.VALUE', - 0x01C8: 'SAVE.COPY.AS', - 0x01CA: 'OPTIONS.LISTS.ADD', - 0x01CB: 'OPTIONS.LISTS.DELETE', - 0x01CC: 'SERIES.AXES', - 0x01CD: 'SERIES.X', - 0x01CE: 'SERIES.Y', - 0x01CF: 'ERRORBAR.X', - 0x01D0: 'ERRORBAR.Y', - 0x01D1: 'FORMAT.CHART', - 0x01D2: 'SERIES.ORDER', - 0x01D3: 'MAIL.LOGOFF', - 0x01D4: 'CLEAR.ROUTING.SLIP', - 0x01D5: 'APP.ACTIVATE.MICROSOFT', - 0x01D6: 'MAIL.EDIT.MAILER', - 0x01D7: 'ON.SHEET', - 0x01D8: 'STANDARD.WIDTH', - 0x01D9: 'SCENARIO.MERGE', - 0x01DA: 'SUMMARY.INFO', - 0x01DB: 'FIND.FILE', - 0x01DC: 'ACTIVE.CELL.FONT', - 0x01DD: 'ENABLE.TIPWIZARD', - 0x01DE: 'VBA.MAKE.ADDIN', - 0x01E0: 'INSERTDATATABLE', - 0x01E1: 'WORKGROUP.OPTIONS', - 0x01E2: 'MAIL.SEND.MAILER', - 0x01E5: 'AUTOCORRECT', - 0x01E9: 'POST.DOCUMENT', - 0x01EB: 'PICKLIST', - 0x01ED: 'VIEW.SHOW', - 0x01EE: 'VIEW.DEFINE', - 0x01EF: 'VIEW.DELETE', - 0x01FD: 'SHEET.BACKGROUND', - 0x01FE: 'INSERT.MAP.OBJECT', - 0x01FF: 'OPTIONS.MENONO', - 0x0205: 'MSOCHECKS', - 0x0206: 'NORMAL', - 0x0207: 'LAYOUT', - 0x0208: 'RM.PRINT.AREA', - 0x0209: 'CLEAR.PRINT.AREA', - 0x020A: 'ADD.PRINT.AREA', - 0x020B: 'MOVE.BRK', - 0x0221: 'HIDECURR.NOTE', - 0x0222: 'HIDEALL.NOTES', - 0x0223: 'DELETE.NOTE', - 0x0224: 'TRAVERSE.NOTES', - 0x0225: 'ACTIVATE.NOTES', - 0x026C: 'PROTECT.REVISIONS', - 0x026D: 'UNPROTECT.REVISIONS', - 0x0287: 'OPTIONS.ME', - 0x028D: 'WEB.PUBLISH', - 0x029B: 'NEWWEBQUERY', - 0x02A1: 'PIVOT.TABLE.CHART', - 0x02F1: 'OPTIONS.SAVE', - 0x02F3: 'OPTIONS.SPELL', - 0x0328: 'HIDEALL.INKANNOTS' +0x0000: 'BEEP', +0x0001: 'OPEN', +0x0002: 'OPEN.LINKS', +0x0003: 'CLOSE.ALL', +0x0004: 'SAVE', +0x0005: 'SAVE.AS', +0x0006: 'FILE.DELETE', +0x0007: 'PAGE.SETUP', +0x0008: 'PRINT', +0x0009: 'PRINTER.SETUP', +0x000A: 'QUIT', +0x000B: 'NEW.WINDOW', +0x000C: 'ARRANGE.ALL', +0x000D: 'WINDOW.SIZE', +0x000E: 'WINDOW.MOVE', +0x000F: 'FULL', +0x0010: 'CLOSE', +0x0011: 'RUN', +0x0016: 'SET.PRINT.AREA', +0x0017: 'SET.PRINT.TITLES', +0x0018: 'SET.PAGE.BREAK', +0x0019: 'REMOVE.PAGE.BREAK', +0x001A: 'FONT', +0x001B: 'DISPLAY', +0x001C: 'PROTECT.DOCUMENT', +0x001D: 'PRECISION', +0x001E: 'A1.R1C1', +0x001F: 'CALCULATE.NOW', +0x0020: 'CALCULATION', +0x0022: 'DATA.FIND', +0x0023: 'EXTRACT', +0x0024: 'DATA.DELETE', +0x0025: 'SET.DATABASE', +0x0026: 'SET.CRITERIA', +0x0027: 'SORT', +0x0028: 'DATA.SERIES', +0x0029: 'TABLE', +0x002A: 'FORMAT.NUMBER', +0x002B: 'ALIGNMENT', +0x002C: 'STYLE', +0x002D: 'BORDER', +0x002E: 'CELL.PROTECTION', +0x002F: 'COLUMN.WIDTH', +0x0030: 'UNDO', +0x0031: 'CUT', +0x0032: 'COPY', +0x0033: 'PASTE', +0x0034: 'CLEAR', +0x0035: 'PASTE.SPECIAL', +0x0036: 'EDIT.DELETE', +0x0037: 'INSERT', +0x0038: 'FILL.RIGHT', +0x0039: 'FILL.DOWN', +0x003D: 'DEFINE.NAME', +0x003E: 'CREATE.NAMES', +0x003F: 'FORMULA.GOTO', +0x0040: 'FORMULA.FIND', +0x0041: 'SELECT.LAST.CELL', +0x0042: 'SHOW.ACTIVE.CELL', +0x0043: 'GALLERY.AREA', +0x0044: 'GALLERY.BAR', +0x0045: 'GALLERY.COLUMN', +0x0046: 'GALLERY.LINE', +0x0047: 'GALLERY.PIE', +0x0048: 'GALLERY.SCATTER', +0x0049: 'COMBINATION', +0x004A: 'PREFERRED', +0x004B: 'ADD.OVERLAY', +0x004C: 'GRIDLINES', +0x004D: 'SET.PREFERRED', +0x004E: 'AXES', +0x004F: 'LEGEND', +0x0050: 'ATTACH.TEXT', +0x0051: 'ADD.ARROW', +0x0052: 'SELECT.CHART', +0x0053: 'SELECT.PLOT.AREA', +0x0054: 'PATTERNS', +0x0055: 'MAIN.CHART', +0x0056: 'OVERLAY', +0x0057: 'SCALE', +0x0058: 'FORMAT.LEGEND', +0x0059: 'FORMAT.TEXT', +0x005A: 'EDIT.REPEAT', +0x005B: 'PARSE', +0x005C: 'JUSTIFY', +0x005D: 'HIDE', +0x005E: 'UNHIDE', +0x005F: 'WORKSPACE', +0x0060: 'FORMULA', +0x0061: 'FORMULA.FILL', +0x0062: 'FORMULA.ARRAY', +0x0063: 'DATA.FIND.NEXT', +0x0064: 'DATA.FIND.PREV', +0x0065: 'FORMULA.FIND.NEXT', +0x0066: 'FORMULA.FIND.PREV', +0x0067: 'ACTIVATE', +0x0068: 'ACTIVATE.NEXT', +0x0069: 'ACTIVATE.PREV', +0x006A: 'UNLOCKED.NEXT', +0x006B: 'UNLOCKED.PREV', +0x006C: 'COPY.PICTURE', +0x006D: 'SELECT', +0x006E: 'DELETE.NAME', +0x006F: 'DELETE.FORMAT', +0x0070: 'VLINE', +0x0071: 'HLINE', +0x0072: 'VPAGE', +0x0073: 'HPAGE', +0x0074: 'VSCROLL', +0x0075: 'HSCROLL', +0x0076: 'ALERT', +0x0077: 'NEW', +0x0078: 'CANCEL.COPY', +0x0079: 'SHOW.CLIPBOARD', +0x007A: 'MESSAGE', +0x007C: 'PASTE.LINK', +0x007D: 'APP.ACTIVATE', +0x007E: 'DELETE.ARROW', +0x007F: 'ROW.HEIGHT', +0x0080: 'FORMAT.MOVE', +0x0081: 'FORMAT.SIZE', +0x0082: 'FORMULA.REPLACE', +0x0083: 'SEND.KEYS', +0x0084: 'SELECT.SPECIAL', +0x0085: 'APPLY.NAMES', +0x0086: 'REPLACE.FONT', +0x0087: 'FREEZE.PANES', +0x0088: 'SHOW.INFO', +0x0089: 'SPLIT', +0x008A: 'ON.WINDOW', +0x008B: 'ON.DATA', +0x008C: 'DISABLE.INPUT', +0x008E: 'OUTLINE', +0x008F: 'LIST.NAMES', +0x0090: 'FILE.CLOSE', +0x0091: 'SAVE.WORKBOOK', +0x0092: 'DATA.FORM', +0x0093: 'COPY.CHART', +0x0094: 'ON.TIME', +0x0095: 'WAIT', +0x0096: 'FORMAT.FONT', +0x0097: 'FILL.UP', +0x0098: 'FILL.LEFT', +0x0099: 'DELETE.OVERLAY', +0x009B: 'SHORT.MENUS', +0x009F: 'SET.UPDATE.STATUS', +0x00A1: 'COLOR.PALETTE', +0x00A2: 'DELETE.STYLE', +0x00A3: 'WINDOW.RESTORE', +0x00A4: 'WINDOW.MAXIMIZE', +0x00A6: 'CHANGE.LINK', +0x00A7: 'CALCULATE.DOCUMENT', +0x00A8: 'ON.KEY', +0x00A9: 'APP.RESTORE', +0x00AA: 'APP.MOVE', +0x00AB: 'APP.SIZE', +0x00AC: 'APP.MINIMIZE', +0x00AD: 'APP.MAXIMIZE', +0x00AE: 'BRING.TO.FRONT', +0x00AF: 'SEND.TO.BACK', +0x00B9: 'MAIN.CHART.TYPE', +0x00BA: 'OVERLAY.CHART.TYPE', +0x00BB: 'SELECT.END', +0x00BC: 'OPEN.MAIL', +0x00BD: 'SEND.MAIL', +0x00BE: 'STANDARD.FONT', +0x00BF: 'CONSOLIDATE', +0x00C0: 'SORT.SPECIAL', +0x00C1: 'GALLERY.3D.AREA', +0x00C2: 'GALLERY.3D.COLUMN', +0x00C3: 'GALLERY.3D.LINE', +0x00C4: 'GALLERY.3D.PIE', +0x00C5: 'VIEW.3D', +0x00C6: 'GOAL.SEEK', +0x00C7: 'WORKGROUP', +0x00C8: 'FILL.GROUP', +0x00C9: 'UPDATE.LINK', +0x00CA: 'PROMOTE', +0x00CB: 'DEMOTE', +0x00CC: 'SHOW.DETAIL', +0x00CE: 'UNGROUP', +0x00CF: 'OBJECT.PROPERTIES', +0x00D0: 'SAVE.NEW.OBJECT', +0x00D1: 'SHARE', +0x00D2: 'SHARE.NAME', +0x00D3: 'DUPLICATE', +0x00D4: 'APPLY.STYLE', +0x00D5: 'ASSIGN.TO.OBJECT', +0x00D6: 'OBJECT.PROTECTION', +0x00D7: 'HIDE.OBJECT', +0x00D8: 'SET.EXTRACT', +0x00D9: 'CREATE.PUBLISHER', +0x00DA: 'SUBSCRIBE.TO', +0x00DB: 'ATTRIBUTES', +0x00DC: 'SHOW.TOOLBAR', +0x00DE: 'PRINT.PREVIEW', +0x00DF: 'EDIT.COLOR', +0x00E0: 'SHOW.LEVELS', +0x00E1: 'FORMAT.MAIN', +0x00E2: 'FORMAT.OVERLAY', +0x00E3: 'ON.RECALC', +0x00E4: 'EDIT.SERIES', +0x00E5: 'DEFINE.STYLE', +0x00F0: 'LINE.PRINT', +0x00F3: 'ENTER.DATA', +0x00F9: 'GALLERY.RADAR', +0x00FA: 'MERGE.STYLES', +0x00FB: 'EDITION.OPTIONS', +0x00FC: 'PASTE.PICTURE', +0x00FD: 'PASTE.PICTURE.LINK', +0x00FE: 'SPELLING', +0x0100: 'ZOOM', +0x0103: 'INSERT.OBJECT', +0x0104: 'WINDOW.MINIMIZE', +0x0109: 'SOUND.NOTE', +0x010A: 'SOUND.PLAY', +0x010B: 'FORMAT.SHAPE', +0x010C: 'EXTEND.POLYGON', +0x010D: 'FORMAT.AUTO', +0x0110: 'GALLERY.3D.BAR', +0x0111: 'GALLERY.3D.SURFACE', +0x0112: 'FILL.AUTO', +0x0114: 'CUSTOMIZE.TOOLBAR', +0x0115: 'ADD.TOOL', +0x0116: 'EDIT.OBJECT', +0x0117: 'ON.DOUBLECLICK', +0x0118: 'ON.ENTRY', +0x0119: 'WORKBOOK.ADD', +0x011A: 'WORKBOOK.MOVE', +0x011B: 'WORKBOOK.COPY', +0x011C: 'WORKBOOK.OPTIONS', +0x011D: 'SAVE.WORKSPACE', +0x0120: 'CHART.WIZARD', +0x0121: 'DELETE.TOOL', +0x0122: 'MOVE.TOOL', +0x0123: 'WORKBOOK.SELECT', +0x0124: 'WORKBOOK.ACTIVATE', +0x0125: 'ASSIGN.TO.TOOL', +0x0127: 'COPY.TOOL', +0x0128: 'RESET.TOOL', +0x0129: 'CONSTRAIN.NUMERIC', +0x012A: 'PASTE.TOOL', +0x012E: 'WORKBOOK.NEW', +0x0131: 'SCENARIO.CELLS', +0x0132: 'SCENARIO.DELETE', +0x0133: 'SCENARIO.ADD', +0x0134: 'SCENARIO.EDIT', +0x0135: 'SCENARIO.SHOW', +0x0136: 'SCENARIO.SHOW.NEXT', +0x0137: 'SCENARIO.SUMMARY', +0x0138: 'PIVOT.TABLE.WIZARD', +0x0139: 'PIVOT.FIELD.PROPERTIES', +0x013A: 'PIVOT.FIELD', +0x013B: 'PIVOT.ITEM', +0x013C: 'PIVOT.ADD.FIELDS', +0x013E: 'OPTIONS.CALCULATION', +0x013F: 'OPTIONS.EDIT', +0x0140: 'OPTIONS.VIEW', +0x0141: 'ADDIN.MANAGER', +0x0142: 'MENU.EDITOR', +0x0143: 'ATTACH.TOOLBARS', +0x0144: 'VBAActivate', +0x0145: 'OPTIONS.CHART', +0x0148: 'VBA.INSERT.FILE', +0x014A: 'VBA.PROCEDURE.DEFINITION', +0x0150: 'ROUTING.SLIP', +0x0152: 'ROUTE.DOCUMENT', +0x0153: 'MAIL.LOGON', +0x0156: 'INSERT.PICTURE', +0x0157: 'EDIT.TOOL', +0x0158: 'GALLERY.DOUGHNUT', +0x015E: 'CHART.TREND', +0x0160: 'PIVOT.ITEM.PROPERTIES', +0x0162: 'WORKBOOK.INSERT', +0x0163: 'OPTIONS.TRANSITION', +0x0164: 'OPTIONS.GENERAL', +0x0172: 'FILTER.ADVANCED', +0x0175: 'MAIL.ADD.MAILER', +0x0176: 'MAIL.DELETE.MAILER', +0x0177: 'MAIL.REPLY', +0x0178: 'MAIL.REPLY.ALL', +0x0179: 'MAIL.FORWARD', +0x017A: 'MAIL.NEXT.LETTER', +0x017B: 'DATA.LABEL', +0x017C: 'INSERT.TITLE', +0x017D: 'FONT.PROPERTIES', +0x017E: 'MACRO.OPTIONS', +0x017F: 'WORKBOOK.HIDE', +0x0180: 'WORKBOOK.UNHIDE', +0x0181: 'WORKBOOK.DELETE', +0x0182: 'WORKBOOK.NAME', +0x0184: 'GALLERY.CUSTOM', +0x0186: 'ADD.CHART.AUTOFORMAT', +0x0187: 'DELETE.CHART.AUTOFORMAT', +0x0188: 'CHART.ADD.DATA', +0x0189: 'AUTO.OUTLINE', +0x018A: 'TAB.ORDER', +0x018B: 'SHOW.DIALOG', +0x018C: 'SELECT.ALL', +0x018D: 'UNGROUP.SHEETS', +0x018E: 'SUBTOTAL.CREATE', +0x018F: 'SUBTOTAL.REMOVE', +0x0190: 'RENAME.OBJECT', +0x019C: 'WORKBOOK.SCROLL', +0x019D: 'WORKBOOK.NEXT', +0x019E: 'WORKBOOK.PREV', +0x019F: 'WORKBOOK.TAB.SPLIT', +0x01A0: 'FULL.SCREEN', +0x01A1: 'WORKBOOK.PROTECT', +0x01A4: 'SCROLLBAR.PROPERTIES', +0x01A5: 'PIVOT.SHOW.PAGES', +0x01A6: 'TEXT.TO.COLUMNS', +0x01A7: 'FORMAT.CHARTTYPE', +0x01A8: 'LINK.FORMAT', +0x01A9: 'TRACER.DISPLAY', +0x01AE: 'TRACER.NAVIGATE', +0x01AF: 'TRACER.CLEAR', +0x01B0: 'TRACER.ERROR', +0x01B1: 'PIVOT.FIELD.GROUP', +0x01B2: 'PIVOT.FIELD.UNGROUP', +0x01B3: 'CHECKBOX.PROPERTIES', +0x01B4: 'LABEL.PROPERTIES', +0x01B5: 'LISTBOX.PROPERTIES', +0x01B6: 'EDITBOX.PROPERTIES', +0x01B7: 'PIVOT.REFRESH', +0x01B8: 'LINK.COMBO', +0x01B9: 'OPEN.TEXT', +0x01BA: 'HIDE.DIALOG', +0x01BB: 'SET.DIALOG.FOCUS', +0x01BC: 'ENABLE.OBJECT', +0x01BD: 'PUSHBUTTON.PROPERTIES', +0x01BE: 'SET.DIALOG.DEFAULT', +0x01BF: 'FILTER', +0x01C0: 'FILTER.SHOW.ALL', +0x01C1: 'CLEAR.OUTLINE', +0x01C2: 'FUNCTION.WIZARD', +0x01C3: 'ADD.LIST.ITEM', +0x01C4: 'SET.LIST.ITEM', +0x01C5: 'REMOVE.LIST.ITEM', +0x01C6: 'SELECT.LIST.ITEM', +0x01C7: 'SET.CONTROL.VALUE', +0x01C8: 'SAVE.COPY.AS', +0x01CA: 'OPTIONS.LISTS.ADD', +0x01CB: 'OPTIONS.LISTS.DELETE', +0x01CC: 'SERIES.AXES', +0x01CD: 'SERIES.X', +0x01CE: 'SERIES.Y', +0x01CF: 'ERRORBAR.X', +0x01D0: 'ERRORBAR.Y', +0x01D1: 'FORMAT.CHART', +0x01D2: 'SERIES.ORDER', +0x01D3: 'MAIL.LOGOFF', +0x01D4: 'CLEAR.ROUTING.SLIP', +0x01D5: 'APP.ACTIVATE.MICROSOFT', +0x01D6: 'MAIL.EDIT.MAILER', +0x01D7: 'ON.SHEET', +0x01D8: 'STANDARD.WIDTH', +0x01D9: 'SCENARIO.MERGE', +0x01DA: 'SUMMARY.INFO', +0x01DB: 'FIND.FILE', +0x01DC: 'ACTIVE.CELL.FONT', +0x01DD: 'ENABLE.TIPWIZARD', +0x01DE: 'VBA.MAKE.ADDIN', +0x01E0: 'INSERTDATATABLE', +0x01E1: 'WORKGROUP.OPTIONS', +0x01E2: 'MAIL.SEND.MAILER', +0x01E5: 'AUTOCORRECT', +0x01E9: 'POST.DOCUMENT', +0x01EB: 'PICKLIST', +0x01ED: 'VIEW.SHOW', +0x01EE: 'VIEW.DEFINE', +0x01EF: 'VIEW.DELETE', +0x01FD: 'SHEET.BACKGROUND', +0x01FE: 'INSERT.MAP.OBJECT', +0x01FF: 'OPTIONS.MENONO', +0x0205: 'MSOCHECKS', +0x0206: 'NORMAL', +0x0207: 'LAYOUT', +0x0208: 'RM.PRINT.AREA', +0x0209: 'CLEAR.PRINT.AREA', +0x020A: 'ADD.PRINT.AREA', +0x020B: 'MOVE.BRK', +0x0221: 'HIDECURR.NOTE', +0x0222: 'HIDEALL.NOTES', +0x0223: 'DELETE.NOTE', +0x0224: 'TRAVERSE.NOTES', +0x0225: 'ACTIVATE.NOTES', +0x026C: 'PROTECT.REVISIONS', +0x026D: 'UNPROTECT.REVISIONS', +0x0287: 'OPTIONS.ME', +0x028D: 'WEB.PUBLISH', +0x029B: 'NEWWEBQUERY', +0x02A1: 'PIVOT.TABLE.CHART', +0x02F1: 'OPTIONS.SAVE', +0x02F3: 'OPTIONS.SPELL', +0x0328: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ var Ftab = { - 0x0000: 'COUNT', - 0x0001: 'IF', - 0x0002: 'ISNA', - 0x0003: 'ISERROR', - 0x0004: 'SUM', - 0x0005: 'AVERAGE', - 0x0006: 'MIN', - 0x0007: 'MAX', - 0x0008: 'ROW', - 0x0009: 'COLUMN', - 0x000A: 'NA', - 0x000B: 'NPV', - 0x000C: 'STDEV', - 0x000D: 'DOLLAR', - 0x000E: 'FIXED', - 0x000F: 'SIN', - 0x0010: 'COS', - 0x0011: 'TAN', - 0x0012: 'ATAN', - 0x0013: 'PI', - 0x0014: 'SQRT', - 0x0015: 'EXP', - 0x0016: 'LN', - 0x0017: 'LOG10', - 0x0018: 'ABS', - 0x0019: 'INT', - 0x001A: 'SIGN', - 0x001B: 'ROUND', - 0x001C: 'LOOKUP', - 0x001D: 'INDEX', - 0x001E: 'REPT', - 0x001F: 'MID', - 0x0020: 'LEN', - 0x0021: 'VALUE', - 0x0022: 'TRUE', - 0x0023: 'FALSE', - 0x0024: 'AND', - 0x0025: 'OR', - 0x0026: 'NOT', - 0x0027: 'MOD', - 0x0028: 'DCOUNT', - 0x0029: 'DSUM', - 0x002A: 'DAVERAGE', - 0x002B: 'DMIN', - 0x002C: 'DMAX', - 0x002D: 'DSTDEV', - 0x002E: 'VAR', - 0x002F: 'DVAR', - 0x0030: 'TEXT', - 0x0031: 'LINEST', - 0x0032: 'TREND', - 0x0033: 'LOGEST', - 0x0034: 'GROWTH', - 0x0035: 'GOTO', - 0x0036: 'HALT', - 0x0037: 'RETURN', - 0x0038: 'PV', - 0x0039: 'FV', - 0x003A: 'NPER', - 0x003B: 'PMT', - 0x003C: 'RATE', - 0x003D: 'MIRR', - 0x003E: 'IRR', - 0x003F: 'RAND', - 0x0040: 'MATCH', - 0x0041: 'DATE', - 0x0042: 'TIME', - 0x0043: 'DAY', - 0x0044: 'MONTH', - 0x0045: 'YEAR', - 0x0046: 'WEEKDAY', - 0x0047: 'HOUR', - 0x0048: 'MINUTE', - 0x0049: 'SECOND', - 0x004A: 'NOW', - 0x004B: 'AREAS', - 0x004C: 'ROWS', - 0x004D: 'COLUMNS', - 0x004E: 'OFFSET', - 0x004F: 'ABSREF', - 0x0050: 'RELREF', - 0x0051: 'ARGUMENT', - 0x0052: 'SEARCH', - 0x0053: 'TRANSPOSE', - 0x0054: 'ERROR', - 0x0055: 'STEP', - 0x0056: 'TYPE', - 0x0057: 'ECHO', - 0x0058: 'SET.NAME', - 0x0059: 'CALLER', - 0x005A: 'DEREF', - 0x005B: 'WINDOWS', - 0x005C: 'SERIES', - 0x005D: 'DOCUMENTS', - 0x005E: 'ACTIVE.CELL', - 0x005F: 'SELECTION', - 0x0060: 'RESULT', - 0x0061: 'ATAN2', - 0x0062: 'ASIN', - 0x0063: 'ACOS', - 0x0064: 'CHOOSE', - 0x0065: 'HLOOKUP', - 0x0066: 'VLOOKUP', - 0x0067: 'LINKS', - 0x0068: 'INPUT', - 0x0069: 'ISREF', - 0x006A: 'GET.FORMULA', - 0x006B: 'GET.NAME', - 0x006C: 'SET.VALUE', - 0x006D: 'LOG', - 0x006E: 'EXEC', - 0x006F: 'CHAR', - 0x0070: 'LOWER', - 0x0071: 'UPPER', - 0x0072: 'PROPER', - 0x0073: 'LEFT', - 0x0074: 'RIGHT', - 0x0075: 'EXACT', - 0x0076: 'TRIM', - 0x0077: 'REPLACE', - 0x0078: 'SUBSTITUTE', - 0x0079: 'CODE', - 0x007A: 'NAMES', - 0x007B: 'DIRECTORY', - 0x007C: 'FIND', - 0x007D: 'CELL', - 0x007E: 'ISERR', - 0x007F: 'ISTEXT', - 0x0080: 'ISNUMBER', - 0x0081: 'ISBLANK', - 0x0082: 'T', - 0x0083: 'N', - 0x0084: 'FOPEN', - 0x0085: 'FCLOSE', - 0x0086: 'FSIZE', - 0x0087: 'FREADLN', - 0x0088: 'FREAD', - 0x0089: 'FWRITELN', - 0x008A: 'FWRITE', - 0x008B: 'FPOS', - 0x008C: 'DATEVALUE', - 0x008D: 'TIMEVALUE', - 0x008E: 'SLN', - 0x008F: 'SYD', - 0x0090: 'DDB', - 0x0091: 'GET.DEF', - 0x0092: 'REFTEXT', - 0x0093: 'TEXTREF', - 0x0094: 'INDIRECT', - 0x0095: 'REGISTER', - 0x0096: 'CALL', - 0x0097: 'ADD.BAR', - 0x0098: 'ADD.MENU', - 0x0099: 'ADD.COMMAND', - 0x009A: 'ENABLE.COMMAND', - 0x009B: 'CHECK.COMMAND', - 0x009C: 'RENAME.COMMAND', - 0x009D: 'SHOW.BAR', - 0x009E: 'DELETE.MENU', - 0x009F: 'DELETE.COMMAND', - 0x00A0: 'GET.CHART.ITEM', - 0x00A1: 'DIALOG.BOX', - 0x00A2: 'CLEAN', - 0x00A3: 'MDETERM', - 0x00A4: 'MINVERSE', - 0x00A5: 'MMULT', - 0x00A6: 'FILES', - 0x00A7: 'IPMT', - 0x00A8: 'PPMT', - 0x00A9: 'COUNTA', - 0x00AA: 'CANCEL.KEY', - 0x00AB: 'FOR', - 0x00AC: 'WHILE', - 0x00AD: 'BREAK', - 0x00AE: 'NEXT', - 0x00AF: 'INITIATE', - 0x00B0: 'REQUEST', - 0x00B1: 'POKE', - 0x00B2: 'EXECUTE', - 0x00B3: 'TERMINATE', - 0x00B4: 'RESTART', - 0x00B5: 'HELP', - 0x00B6: 'GET.BAR', - 0x00B7: 'PRODUCT', - 0x00B8: 'FACT', - 0x00B9: 'GET.CELL', - 0x00BA: 'GET.WORKSPACE', - 0x00BB: 'GET.WINDOW', - 0x00BC: 'GET.DOCUMENT', - 0x00BD: 'DPRODUCT', - 0x00BE: 'ISNONTEXT', - 0x00BF: 'GET.NOTE', - 0x00C0: 'NOTE', - 0x00C1: 'STDEVP', - 0x00C2: 'VARP', - 0x00C3: 'DSTDEVP', - 0x00C4: 'DVARP', - 0x00C5: 'TRUNC', - 0x00C6: 'ISLOGICAL', - 0x00C7: 'DCOUNTA', - 0x00C8: 'DELETE.BAR', - 0x00C9: 'UNREGISTER', - 0x00CC: 'USDOLLAR', - 0x00CD: 'FINDB', - 0x00CE: 'SEARCHB', - 0x00CF: 'REPLACEB', - 0x00D0: 'LEFTB', - 0x00D1: 'RIGHTB', - 0x00D2: 'MIDB', - 0x00D3: 'LENB', - 0x00D4: 'ROUNDUP', - 0x00D5: 'ROUNDDOWN', - 0x00D6: 'ASC', - 0x00D7: 'DBCS', - 0x00D8: 'RANK', - 0x00DB: 'ADDRESS', - 0x00DC: 'DAYS360', - 0x00DD: 'TODAY', - 0x00DE: 'VDB', - 0x00DF: 'ELSE', - 0x00E0: 'ELSE.IF', - 0x00E1: 'END.IF', - 0x00E2: 'FOR.CELL', - 0x00E3: 'MEDIAN', - 0x00E4: 'SUMPRODUCT', - 0x00E5: 'SINH', - 0x00E6: 'COSH', - 0x00E7: 'TANH', - 0x00E8: 'ASINH', - 0x00E9: 'ACOSH', - 0x00EA: 'ATANH', - 0x00EB: 'DGET', - 0x00EC: 'CREATE.OBJECT', - 0x00ED: 'VOLATILE', - 0x00EE: 'LAST.ERROR', - 0x00EF: 'CUSTOM.UNDO', - 0x00F0: 'CUSTOM.REPEAT', - 0x00F1: 'FORMULA.CONVERT', - 0x00F2: 'GET.LINK.INFO', - 0x00F3: 'TEXT.BOX', - 0x00F4: 'INFO', - 0x00F5: 'GROUP', - 0x00F6: 'GET.OBJECT', - 0x00F7: 'DB', - 0x00F8: 'PAUSE', - 0x00FB: 'RESUME', - 0x00FC: 'FREQUENCY', - 0x00FD: 'ADD.TOOLBAR', - 0x00FE: 'DELETE.TOOLBAR', - 0x00FF: 'User', - 0x0100: 'RESET.TOOLBAR', - 0x0101: 'EVALUATE', - 0x0102: 'GET.TOOLBAR', - 0x0103: 'GET.TOOL', - 0x0104: 'SPELLING.CHECK', - 0x0105: 'ERROR.TYPE', - 0x0106: 'APP.TITLE', - 0x0107: 'WINDOW.TITLE', - 0x0108: 'SAVE.TOOLBAR', - 0x0109: 'ENABLE.TOOL', - 0x010A: 'PRESS.TOOL', - 0x010B: 'REGISTER.ID', - 0x010C: 'GET.WORKBOOK', - 0x010D: 'AVEDEV', - 0x010E: 'BETADIST', - 0x010F: 'GAMMALN', - 0x0110: 'BETAINV', - 0x0111: 'BINOMDIST', - 0x0112: 'CHIDIST', - 0x0113: 'CHIINV', - 0x0114: 'COMBIN', - 0x0115: 'CONFIDENCE', - 0x0116: 'CRITBINOM', - 0x0117: 'EVEN', - 0x0118: 'EXPONDIST', - 0x0119: 'FDIST', - 0x011A: 'FINV', - 0x011B: 'FISHER', - 0x011C: 'FISHERINV', - 0x011D: 'FLOOR', - 0x011E: 'GAMMADIST', - 0x011F: 'GAMMAINV', - 0x0120: 'CEILING', - 0x0121: 'HYPGEOMDIST', - 0x0122: 'LOGNORMDIST', - 0x0123: 'LOGINV', - 0x0124: 'NEGBINOMDIST', - 0x0125: 'NORMDIST', - 0x0126: 'NORMSDIST', - 0x0127: 'NORMINV', - 0x0128: 'NORMSINV', - 0x0129: 'STANDARDIZE', - 0x012A: 'ODD', - 0x012B: 'PERMUT', - 0x012C: 'POISSON', - 0x012D: 'TDIST', - 0x012E: 'WEIBULL', - 0x012F: 'SUMXMY2', - 0x0130: 'SUMX2MY2', - 0x0131: 'SUMX2PY2', - 0x0132: 'CHITEST', - 0x0133: 'CORREL', - 0x0134: 'COVAR', - 0x0135: 'FORECAST', - 0x0136: 'FTEST', - 0x0137: 'INTERCEPT', - 0x0138: 'PEARSON', - 0x0139: 'RSQ', - 0x013A: 'STEYX', - 0x013B: 'SLOPE', - 0x013C: 'TTEST', - 0x013D: 'PROB', - 0x013E: 'DEVSQ', - 0x013F: 'GEOMEAN', - 0x0140: 'HARMEAN', - 0x0141: 'SUMSQ', - 0x0142: 'KURT', - 0x0143: 'SKEW', - 0x0144: 'ZTEST', - 0x0145: 'LARGE', - 0x0146: 'SMALL', - 0x0147: 'QUARTILE', - 0x0148: 'PERCENTILE', - 0x0149: 'PERCENTRANK', - 0x014A: 'MODE', - 0x014B: 'TRIMMEAN', - 0x014C: 'TINV', - 0x014E: 'MOVIE.COMMAND', - 0x014F: 'GET.MOVIE', - 0x0150: 'CONCATENATE', - 0x0151: 'POWER', - 0x0152: 'PIVOT.ADD.DATA', - 0x0153: 'GET.PIVOT.TABLE', - 0x0154: 'GET.PIVOT.FIELD', - 0x0155: 'GET.PIVOT.ITEM', - 0x0156: 'RADIANS', - 0x0157: 'DEGREES', - 0x0158: 'SUBTOTAL', - 0x0159: 'SUMIF', - 0x015A: 'COUNTIF', - 0x015B: 'COUNTBLANK', - 0x015C: 'SCENARIO.GET', - 0x015D: 'OPTIONS.LISTS.GET', - 0x015E: 'ISPMT', - 0x015F: 'DATEDIF', - 0x0160: 'DATESTRING', - 0x0161: 'NUMBERSTRING', - 0x0162: 'ROMAN', - 0x0163: 'OPEN.DIALOG', - 0x0164: 'SAVE.DIALOG', - 0x0165: 'VIEW.GET', - 0x0166: 'GETPIVOTDATA', - 0x0167: 'HYPERLINK', - 0x0168: 'PHONETIC', - 0x0169: 'AVERAGEA', - 0x016A: 'MAXA', - 0x016B: 'MINA', - 0x016C: 'STDEVPA', - 0x016D: 'VARPA', - 0x016E: 'STDEVA', - 0x016F: 'VARA', - 0x0170: 'BAHTTEXT', - 0x0171: 'THAIDAYOFWEEK', - 0x0172: 'THAIDIGIT', - 0x0173: 'THAIMONTHOFYEAR', - 0x0174: 'THAINUMSOUND', - 0x0175: 'THAINUMSTRING', - 0x0176: 'THAISTRINGLENGTH', - 0x0177: 'ISTHAIDIGIT', - 0x0178: 'ROUNDBAHTDOWN', - 0x0179: 'ROUNDBAHTUP', - 0x017A: 'THAIYEAR', - 0x017B: 'RTD' +0x0000: 'COUNT', +0x0001: 'IF', +0x0002: 'ISNA', +0x0003: 'ISERROR', +0x0004: 'SUM', +0x0005: 'AVERAGE', +0x0006: 'MIN', +0x0007: 'MAX', +0x0008: 'ROW', +0x0009: 'COLUMN', +0x000A: 'NA', +0x000B: 'NPV', +0x000C: 'STDEV', +0x000D: 'DOLLAR', +0x000E: 'FIXED', +0x000F: 'SIN', +0x0010: 'COS', +0x0011: 'TAN', +0x0012: 'ATAN', +0x0013: 'PI', +0x0014: 'SQRT', +0x0015: 'EXP', +0x0016: 'LN', +0x0017: 'LOG10', +0x0018: 'ABS', +0x0019: 'INT', +0x001A: 'SIGN', +0x001B: 'ROUND', +0x001C: 'LOOKUP', +0x001D: 'INDEX', +0x001E: 'REPT', +0x001F: 'MID', +0x0020: 'LEN', +0x0021: 'VALUE', +0x0022: 'TRUE', +0x0023: 'FALSE', +0x0024: 'AND', +0x0025: 'OR', +0x0026: 'NOT', +0x0027: 'MOD', +0x0028: 'DCOUNT', +0x0029: 'DSUM', +0x002A: 'DAVERAGE', +0x002B: 'DMIN', +0x002C: 'DMAX', +0x002D: 'DSTDEV', +0x002E: 'VAR', +0x002F: 'DVAR', +0x0030: 'TEXT', +0x0031: 'LINEST', +0x0032: 'TREND', +0x0033: 'LOGEST', +0x0034: 'GROWTH', +0x0035: 'GOTO', +0x0036: 'HALT', +0x0037: 'RETURN', +0x0038: 'PV', +0x0039: 'FV', +0x003A: 'NPER', +0x003B: 'PMT', +0x003C: 'RATE', +0x003D: 'MIRR', +0x003E: 'IRR', +0x003F: 'RAND', +0x0040: 'MATCH', +0x0041: 'DATE', +0x0042: 'TIME', +0x0043: 'DAY', +0x0044: 'MONTH', +0x0045: 'YEAR', +0x0046: 'WEEKDAY', +0x0047: 'HOUR', +0x0048: 'MINUTE', +0x0049: 'SECOND', +0x004A: 'NOW', +0x004B: 'AREAS', +0x004C: 'ROWS', +0x004D: 'COLUMNS', +0x004E: 'OFFSET', +0x004F: 'ABSREF', +0x0050: 'RELREF', +0x0051: 'ARGUMENT', +0x0052: 'SEARCH', +0x0053: 'TRANSPOSE', +0x0054: 'ERROR', +0x0055: 'STEP', +0x0056: 'TYPE', +0x0057: 'ECHO', +0x0058: 'SET.NAME', +0x0059: 'CALLER', +0x005A: 'DEREF', +0x005B: 'WINDOWS', +0x005C: 'SERIES', +0x005D: 'DOCUMENTS', +0x005E: 'ACTIVE.CELL', +0x005F: 'SELECTION', +0x0060: 'RESULT', +0x0061: 'ATAN2', +0x0062: 'ASIN', +0x0063: 'ACOS', +0x0064: 'CHOOSE', +0x0065: 'HLOOKUP', +0x0066: 'VLOOKUP', +0x0067: 'LINKS', +0x0068: 'INPUT', +0x0069: 'ISREF', +0x006A: 'GET.FORMULA', +0x006B: 'GET.NAME', +0x006C: 'SET.VALUE', +0x006D: 'LOG', +0x006E: 'EXEC', +0x006F: 'CHAR', +0x0070: 'LOWER', +0x0071: 'UPPER', +0x0072: 'PROPER', +0x0073: 'LEFT', +0x0074: 'RIGHT', +0x0075: 'EXACT', +0x0076: 'TRIM', +0x0077: 'REPLACE', +0x0078: 'SUBSTITUTE', +0x0079: 'CODE', +0x007A: 'NAMES', +0x007B: 'DIRECTORY', +0x007C: 'FIND', +0x007D: 'CELL', +0x007E: 'ISERR', +0x007F: 'ISTEXT', +0x0080: 'ISNUMBER', +0x0081: 'ISBLANK', +0x0082: 'T', +0x0083: 'N', +0x0084: 'FOPEN', +0x0085: 'FCLOSE', +0x0086: 'FSIZE', +0x0087: 'FREADLN', +0x0088: 'FREAD', +0x0089: 'FWRITELN', +0x008A: 'FWRITE', +0x008B: 'FPOS', +0x008C: 'DATEVALUE', +0x008D: 'TIMEVALUE', +0x008E: 'SLN', +0x008F: 'SYD', +0x0090: 'DDB', +0x0091: 'GET.DEF', +0x0092: 'REFTEXT', +0x0093: 'TEXTREF', +0x0094: 'INDIRECT', +0x0095: 'REGISTER', +0x0096: 'CALL', +0x0097: 'ADD.BAR', +0x0098: 'ADD.MENU', +0x0099: 'ADD.COMMAND', +0x009A: 'ENABLE.COMMAND', +0x009B: 'CHECK.COMMAND', +0x009C: 'RENAME.COMMAND', +0x009D: 'SHOW.BAR', +0x009E: 'DELETE.MENU', +0x009F: 'DELETE.COMMAND', +0x00A0: 'GET.CHART.ITEM', +0x00A1: 'DIALOG.BOX', +0x00A2: 'CLEAN', +0x00A3: 'MDETERM', +0x00A4: 'MINVERSE', +0x00A5: 'MMULT', +0x00A6: 'FILES', +0x00A7: 'IPMT', +0x00A8: 'PPMT', +0x00A9: 'COUNTA', +0x00AA: 'CANCEL.KEY', +0x00AB: 'FOR', +0x00AC: 'WHILE', +0x00AD: 'BREAK', +0x00AE: 'NEXT', +0x00AF: 'INITIATE', +0x00B0: 'REQUEST', +0x00B1: 'POKE', +0x00B2: 'EXECUTE', +0x00B3: 'TERMINATE', +0x00B4: 'RESTART', +0x00B5: 'HELP', +0x00B6: 'GET.BAR', +0x00B7: 'PRODUCT', +0x00B8: 'FACT', +0x00B9: 'GET.CELL', +0x00BA: 'GET.WORKSPACE', +0x00BB: 'GET.WINDOW', +0x00BC: 'GET.DOCUMENT', +0x00BD: 'DPRODUCT', +0x00BE: 'ISNONTEXT', +0x00BF: 'GET.NOTE', +0x00C0: 'NOTE', +0x00C1: 'STDEVP', +0x00C2: 'VARP', +0x00C3: 'DSTDEVP', +0x00C4: 'DVARP', +0x00C5: 'TRUNC', +0x00C6: 'ISLOGICAL', +0x00C7: 'DCOUNTA', +0x00C8: 'DELETE.BAR', +0x00C9: 'UNREGISTER', +0x00CC: 'USDOLLAR', +0x00CD: 'FINDB', +0x00CE: 'SEARCHB', +0x00CF: 'REPLACEB', +0x00D0: 'LEFTB', +0x00D1: 'RIGHTB', +0x00D2: 'MIDB', +0x00D3: 'LENB', +0x00D4: 'ROUNDUP', +0x00D5: 'ROUNDDOWN', +0x00D6: 'ASC', +0x00D7: 'DBCS', +0x00D8: 'RANK', +0x00DB: 'ADDRESS', +0x00DC: 'DAYS360', +0x00DD: 'TODAY', +0x00DE: 'VDB', +0x00DF: 'ELSE', +0x00E0: 'ELSE.IF', +0x00E1: 'END.IF', +0x00E2: 'FOR.CELL', +0x00E3: 'MEDIAN', +0x00E4: 'SUMPRODUCT', +0x00E5: 'SINH', +0x00E6: 'COSH', +0x00E7: 'TANH', +0x00E8: 'ASINH', +0x00E9: 'ACOSH', +0x00EA: 'ATANH', +0x00EB: 'DGET', +0x00EC: 'CREATE.OBJECT', +0x00ED: 'VOLATILE', +0x00EE: 'LAST.ERROR', +0x00EF: 'CUSTOM.UNDO', +0x00F0: 'CUSTOM.REPEAT', +0x00F1: 'FORMULA.CONVERT', +0x00F2: 'GET.LINK.INFO', +0x00F3: 'TEXT.BOX', +0x00F4: 'INFO', +0x00F5: 'GROUP', +0x00F6: 'GET.OBJECT', +0x00F7: 'DB', +0x00F8: 'PAUSE', +0x00FB: 'RESUME', +0x00FC: 'FREQUENCY', +0x00FD: 'ADD.TOOLBAR', +0x00FE: 'DELETE.TOOLBAR', +0x00FF: 'User', +0x0100: 'RESET.TOOLBAR', +0x0101: 'EVALUATE', +0x0102: 'GET.TOOLBAR', +0x0103: 'GET.TOOL', +0x0104: 'SPELLING.CHECK', +0x0105: 'ERROR.TYPE', +0x0106: 'APP.TITLE', +0x0107: 'WINDOW.TITLE', +0x0108: 'SAVE.TOOLBAR', +0x0109: 'ENABLE.TOOL', +0x010A: 'PRESS.TOOL', +0x010B: 'REGISTER.ID', +0x010C: 'GET.WORKBOOK', +0x010D: 'AVEDEV', +0x010E: 'BETADIST', +0x010F: 'GAMMALN', +0x0110: 'BETAINV', +0x0111: 'BINOMDIST', +0x0112: 'CHIDIST', +0x0113: 'CHIINV', +0x0114: 'COMBIN', +0x0115: 'CONFIDENCE', +0x0116: 'CRITBINOM', +0x0117: 'EVEN', +0x0118: 'EXPONDIST', +0x0119: 'FDIST', +0x011A: 'FINV', +0x011B: 'FISHER', +0x011C: 'FISHERINV', +0x011D: 'FLOOR', +0x011E: 'GAMMADIST', +0x011F: 'GAMMAINV', +0x0120: 'CEILING', +0x0121: 'HYPGEOMDIST', +0x0122: 'LOGNORMDIST', +0x0123: 'LOGINV', +0x0124: 'NEGBINOMDIST', +0x0125: 'NORMDIST', +0x0126: 'NORMSDIST', +0x0127: 'NORMINV', +0x0128: 'NORMSINV', +0x0129: 'STANDARDIZE', +0x012A: 'ODD', +0x012B: 'PERMUT', +0x012C: 'POISSON', +0x012D: 'TDIST', +0x012E: 'WEIBULL', +0x012F: 'SUMXMY2', +0x0130: 'SUMX2MY2', +0x0131: 'SUMX2PY2', +0x0132: 'CHITEST', +0x0133: 'CORREL', +0x0134: 'COVAR', +0x0135: 'FORECAST', +0x0136: 'FTEST', +0x0137: 'INTERCEPT', +0x0138: 'PEARSON', +0x0139: 'RSQ', +0x013A: 'STEYX', +0x013B: 'SLOPE', +0x013C: 'TTEST', +0x013D: 'PROB', +0x013E: 'DEVSQ', +0x013F: 'GEOMEAN', +0x0140: 'HARMEAN', +0x0141: 'SUMSQ', +0x0142: 'KURT', +0x0143: 'SKEW', +0x0144: 'ZTEST', +0x0145: 'LARGE', +0x0146: 'SMALL', +0x0147: 'QUARTILE', +0x0148: 'PERCENTILE', +0x0149: 'PERCENTRANK', +0x014A: 'MODE', +0x014B: 'TRIMMEAN', +0x014C: 'TINV', +0x014E: 'MOVIE.COMMAND', +0x014F: 'GET.MOVIE', +0x0150: 'CONCATENATE', +0x0151: 'POWER', +0x0152: 'PIVOT.ADD.DATA', +0x0153: 'GET.PIVOT.TABLE', +0x0154: 'GET.PIVOT.FIELD', +0x0155: 'GET.PIVOT.ITEM', +0x0156: 'RADIANS', +0x0157: 'DEGREES', +0x0158: 'SUBTOTAL', +0x0159: 'SUMIF', +0x015A: 'COUNTIF', +0x015B: 'COUNTBLANK', +0x015C: 'SCENARIO.GET', +0x015D: 'OPTIONS.LISTS.GET', +0x015E: 'ISPMT', +0x015F: 'DATEDIF', +0x0160: 'DATESTRING', +0x0161: 'NUMBERSTRING', +0x0162: 'ROMAN', +0x0163: 'OPEN.DIALOG', +0x0164: 'SAVE.DIALOG', +0x0165: 'VIEW.GET', +0x0166: 'GETPIVOTDATA', +0x0167: 'HYPERLINK', +0x0168: 'PHONETIC', +0x0169: 'AVERAGEA', +0x016A: 'MAXA', +0x016B: 'MINA', +0x016C: 'STDEVPA', +0x016D: 'VARPA', +0x016E: 'STDEVA', +0x016F: 'VARA', +0x0170: 'BAHTTEXT', +0x0171: 'THAIDAYOFWEEK', +0x0172: 'THAIDIGIT', +0x0173: 'THAIMONTHOFYEAR', +0x0174: 'THAINUMSOUND', +0x0175: 'THAINUMSTRING', +0x0176: 'THAISTRINGLENGTH', +0x0177: 'ISTHAIDIGIT', +0x0178: 'ROUNDBAHTDOWN', +0x0179: 'ROUNDBAHTUP', +0x017A: 'THAIYEAR', +0x017B: 'RTD' }; var FtabArgc = { - 0x0002: 1, /* ISNA */ - 0x0003: 1, /* ISERROR */ - 0x000F: 1, /* SIN */ - 0x0010: 1, /* COS */ - 0x0011: 1, /* TAN */ - 0x0012: 1, /* ATAN */ - 0x0014: 1, /* SQRT */ - 0x0015: 1, /* EXP */ - 0x0016: 1, /* LN */ - 0x0017: 1, /* LOG10 */ - 0x0018: 1, /* ABS */ - 0x0019: 1, /* INT */ - 0x001A: 1, /* SIGN */ - 0x001B: 2, /* ROUND */ - 0x001E: 2, /* REPT */ - 0x001F: 3, /* MID */ - 0x0020: 1, /* LEN */ - 0x0021: 1, /* VALUE */ - 0x0026: 1, /* NOT */ - 0x0027: 2, /* MOD */ - 0x0028: 3, /* DCOUNT */ - 0x0029: 3, /* DSUM */ - 0x002A: 3, /* DAVERAGE */ - 0x002B: 3, /* DMIN */ - 0x002C: 3, /* DMAX */ - 0x002D: 3, /* DSTDEV */ - 0x002F: 3, /* DVAR */ - 0x0030: 2, /* TEXT */ - 0x0035: 1, /* GOTO */ - 0x003D: 3, /* MIRR */ - 0x0041: 3, /* DATE */ - 0x0042: 3, /* TIME */ - 0x0043: 1, /* DAY */ - 0x0044: 1, /* MONTH */ - 0x0045: 1, /* YEAR */ - 0x0047: 1, /* HOUR */ - 0x0048: 1, /* MINUTE */ - 0x0049: 1, /* SECOND */ - 0x004B: 1, /* AREAS */ - 0x004C: 1, /* ROWS */ - 0x004D: 1, /* COLUMNS */ - 0x004F: 2, /* ABSREF */ - 0x0050: 2, /* RELREF */ - 0x0053: 1, /* TRANSPOSE */ - 0x0056: 1, /* TYPE */ - 0x005A: 1, /* DEREF */ - 0x0061: 2, /* ATAN2 */ - 0x0062: 1, /* ASIN */ - 0x0063: 1, /* ACOS */ - 0x0069: 1, /* ISREF */ - 0x006F: 1, /* CHAR */ - 0x0070: 1, /* LOWER */ - 0x0071: 1, /* UPPER */ - 0x0072: 1, /* PROPER */ - 0x0075: 2, /* EXACT */ - 0x0076: 1, /* TRIM */ - 0x0077: 4, /* REPLACE */ - 0x0079: 1, /* CODE */ - 0x007E: 1, /* ISERR */ - 0x007F: 1, /* ISTEXT */ - 0x0080: 1, /* ISNUMBER */ - 0x0081: 1, /* ISBLANK */ - 0x0082: 1, /* T */ - 0x0083: 1, /* N */ - 0x0085: 1, /* FCLOSE */ - 0x0086: 1, /* FSIZE */ - 0x0087: 1, /* FREADLN */ - 0x0088: 2, /* FREAD */ - 0x0089: 2, /* FWRITELN */ - 0x008A: 2, /* FWRITE */ - 0x008C: 1, /* DATEVALUE */ - 0x008D: 1, /* TIMEVALUE */ - 0x008E: 3, /* SLN */ - 0x008F: 4, /* SYD */ - 0x00A2: 1, /* CLEAN */ - 0x00A3: 1, /* MDETERM */ - 0x00A4: 1, /* MINVERSE */ - 0x00A5: 2, /* MMULT */ - 0x00AC: 1, /* WHILE */ - 0x00AF: 2, /* INITIATE */ - 0x00B0: 2, /* REQUEST */ - 0x00B1: 3, /* POKE */ - 0x00B2: 2, /* EXECUTE */ - 0x00B3: 1, /* TERMINATE */ - 0x00B8: 1, /* FACT */ - 0x00BD: 3, /* DPRODUCT */ - 0x00BE: 1, /* ISNONTEXT */ - 0x00C3: 3, /* DSTDEVP */ - 0x00C4: 3, /* DVARP */ - 0x00C6: 1, /* ISLOGICAL */ - 0x00C7: 3, /* DCOUNTA */ - 0x00C9: 1, /* UNREGISTER */ - 0x00CF: 4, /* REPLACEB */ - 0x00D2: 3, /* MIDB */ - 0x00D3: 1, /* LENB */ - 0x00D4: 2, /* ROUNDUP */ - 0x00D5: 2, /* ROUNDDOWN */ - 0x00D6: 1, /* ASC */ - 0x00D7: 1, /* DBCS */ - 0x00E5: 1, /* SINH */ - 0x00E6: 1, /* COSH */ - 0x00E7: 1, /* TANH */ - 0x00E8: 1, /* ASINH */ - 0x00E9: 1, /* ACOSH */ - 0x00EA: 1, /* ATANH */ - 0x00EB: 3, /* DGET */ - 0x00F4: 1, /* INFO */ - 0x00FC: 2, /* FREQUENCY */ - 0x0101: 1, /* EVALUATE */ - 0x0105: 1, /* ERROR.TYPE */ - 0x010F: 1, /* GAMMALN */ - 0x0111: 4, /* BINOMDIST */ - 0x0112: 2, /* CHIDIST */ - 0x0113: 2, /* CHIINV */ - 0x0114: 2, /* COMBIN */ - 0x0115: 3, /* CONFIDENCE */ - 0x0116: 3, /* CRITBINOM */ - 0x0117: 1, /* EVEN */ - 0x0118: 3, /* EXPONDIST */ - 0x0119: 3, /* FDIST */ - 0x011A: 3, /* FINV */ - 0x011B: 1, /* FISHER */ - 0x011C: 1, /* FISHERINV */ - 0x011D: 2, /* FLOOR */ - 0x011E: 4, /* GAMMADIST */ - 0x011F: 3, /* GAMMAINV */ - 0x0120: 2, /* CEILING */ - 0x0121: 4, /* HYPGEOMDIST */ - 0x0122: 3, /* LOGNORMDIST */ - 0x0123: 3, /* LOGINV */ - 0x0124: 3, /* NEGBINOMDIST */ - 0x0125: 4, /* NORMDIST */ - 0x0126: 1, /* NORMSDIST */ - 0x0127: 3, /* NORMINV */ - 0x0128: 1, /* NORMSINV */ - 0x0129: 3, /* STANDARDIZE */ - 0x012A: 1, /* ODD */ - 0x012B: 2, /* PERMUT */ - 0x012C: 3, /* POISSON */ - 0x012D: 3, /* TDIST */ - 0x012E: 4, /* WEIBULL */ - 0x012F: 2, /* SUMXMY2 */ - 0x0130: 2, /* SUMX2MY2 */ - 0x0131: 2, /* SUMX2PY2 */ - 0x0132: 2, /* CHITEST */ - 0x0133: 2, /* CORREL */ - 0x0134: 2, /* COVAR */ - 0x0135: 3, /* FORECAST */ - 0x0136: 2, /* FTEST */ - 0x0137: 2, /* INTERCEPT */ - 0x0138: 2, /* PEARSON */ - 0x0139: 2, /* RSQ */ - 0x013A: 2, /* STEYX */ - 0x013B: 2, /* SLOPE */ - 0x013C: 4, /* TTEST */ - 0x0145: 2, /* LARGE */ - 0x0146: 2, /* SMALL */ - 0x0147: 2, /* QUARTILE */ - 0x0148: 2, /* PERCENTILE */ - 0x014B: 2, /* TRIMMEAN */ - 0x014C: 2, /* TINV */ - 0x0151: 2, /* POWER */ - 0x0156: 1, /* RADIANS */ - 0x0157: 1, /* DEGREES */ - 0x015A: 2, /* COUNTIF */ - 0x015B: 1, /* COUNTBLANK */ - 0x015E: 4, /* ISPMT */ - 0x015F: 3, /* DATEDIF */ - 0x0160: 1, /* DATESTRING */ - 0x0161: 2, /* NUMBERSTRING */ - 0x0168: 1, /* PHONETIC */ - 0x0170: 1, /* BAHTTEXT */ - 0x0171: 1, /* THAIDAYOFWEEK */ - 0x0172: 1, /* THAIDIGIT */ - 0x0173: 1, /* THAIMONTHOFYEAR */ - 0x0174: 1, /* THAINUMSOUND */ - 0x0175: 1, /* THAINUMSTRING */ - 0x0176: 1, /* THAISTRINGLENGTH */ - 0x0177: 1, /* ISTHAIDIGIT */ - 0x0178: 1, /* ROUNDBAHTDOWN */ - 0x0179: 1, /* ROUNDBAHTUP */ - 0x017A: 1, /* THAIYEAR */ - 0xFFFF: 0 +0x0002: 1, /* ISNA */ +0x0003: 1, /* ISERROR */ +0x000F: 1, /* SIN */ +0x0010: 1, /* COS */ +0x0011: 1, /* TAN */ +0x0012: 1, /* ATAN */ +0x0014: 1, /* SQRT */ +0x0015: 1, /* EXP */ +0x0016: 1, /* LN */ +0x0017: 1, /* LOG10 */ +0x0018: 1, /* ABS */ +0x0019: 1, /* INT */ +0x001A: 1, /* SIGN */ +0x001B: 2, /* ROUND */ +0x001E: 2, /* REPT */ +0x001F: 3, /* MID */ +0x0020: 1, /* LEN */ +0x0021: 1, /* VALUE */ +0x0026: 1, /* NOT */ +0x0027: 2, /* MOD */ +0x0028: 3, /* DCOUNT */ +0x0029: 3, /* DSUM */ +0x002A: 3, /* DAVERAGE */ +0x002B: 3, /* DMIN */ +0x002C: 3, /* DMAX */ +0x002D: 3, /* DSTDEV */ +0x002F: 3, /* DVAR */ +0x0030: 2, /* TEXT */ +0x0035: 1, /* GOTO */ +0x003D: 3, /* MIRR */ +0x0041: 3, /* DATE */ +0x0042: 3, /* TIME */ +0x0043: 1, /* DAY */ +0x0044: 1, /* MONTH */ +0x0045: 1, /* YEAR */ +0x0047: 1, /* HOUR */ +0x0048: 1, /* MINUTE */ +0x0049: 1, /* SECOND */ +0x004B: 1, /* AREAS */ +0x004C: 1, /* ROWS */ +0x004D: 1, /* COLUMNS */ +0x004F: 2, /* ABSREF */ +0x0050: 2, /* RELREF */ +0x0053: 1, /* TRANSPOSE */ +0x0056: 1, /* TYPE */ +0x005A: 1, /* DEREF */ +0x0061: 2, /* ATAN2 */ +0x0062: 1, /* ASIN */ +0x0063: 1, /* ACOS */ +0x0069: 1, /* ISREF */ +0x006F: 1, /* CHAR */ +0x0070: 1, /* LOWER */ +0x0071: 1, /* UPPER */ +0x0072: 1, /* PROPER */ +0x0075: 2, /* EXACT */ +0x0076: 1, /* TRIM */ +0x0077: 4, /* REPLACE */ +0x0079: 1, /* CODE */ +0x007E: 1, /* ISERR */ +0x007F: 1, /* ISTEXT */ +0x0080: 1, /* ISNUMBER */ +0x0081: 1, /* ISBLANK */ +0x0082: 1, /* T */ +0x0083: 1, /* N */ +0x0085: 1, /* FCLOSE */ +0x0086: 1, /* FSIZE */ +0x0087: 1, /* FREADLN */ +0x0088: 2, /* FREAD */ +0x0089: 2, /* FWRITELN */ +0x008A: 2, /* FWRITE */ +0x008C: 1, /* DATEVALUE */ +0x008D: 1, /* TIMEVALUE */ +0x008E: 3, /* SLN */ +0x008F: 4, /* SYD */ +0x00A2: 1, /* CLEAN */ +0x00A3: 1, /* MDETERM */ +0x00A4: 1, /* MINVERSE */ +0x00A5: 2, /* MMULT */ +0x00AC: 1, /* WHILE */ +0x00AF: 2, /* INITIATE */ +0x00B0: 2, /* REQUEST */ +0x00B1: 3, /* POKE */ +0x00B2: 2, /* EXECUTE */ +0x00B3: 1, /* TERMINATE */ +0x00B8: 1, /* FACT */ +0x00BD: 3, /* DPRODUCT */ +0x00BE: 1, /* ISNONTEXT */ +0x00C3: 3, /* DSTDEVP */ +0x00C4: 3, /* DVARP */ +0x00C6: 1, /* ISLOGICAL */ +0x00C7: 3, /* DCOUNTA */ +0x00C9: 1, /* UNREGISTER */ +0x00CF: 4, /* REPLACEB */ +0x00D2: 3, /* MIDB */ +0x00D3: 1, /* LENB */ +0x00D4: 2, /* ROUNDUP */ +0x00D5: 2, /* ROUNDDOWN */ +0x00D6: 1, /* ASC */ +0x00D7: 1, /* DBCS */ +0x00E5: 1, /* SINH */ +0x00E6: 1, /* COSH */ +0x00E7: 1, /* TANH */ +0x00E8: 1, /* ASINH */ +0x00E9: 1, /* ACOSH */ +0x00EA: 1, /* ATANH */ +0x00EB: 3, /* DGET */ +0x00F4: 1, /* INFO */ +0x00FC: 2, /* FREQUENCY */ +0x0101: 1, /* EVALUATE */ +0x0105: 1, /* ERROR.TYPE */ +0x010F: 1, /* GAMMALN */ +0x0111: 4, /* BINOMDIST */ +0x0112: 2, /* CHIDIST */ +0x0113: 2, /* CHIINV */ +0x0114: 2, /* COMBIN */ +0x0115: 3, /* CONFIDENCE */ +0x0116: 3, /* CRITBINOM */ +0x0117: 1, /* EVEN */ +0x0118: 3, /* EXPONDIST */ +0x0119: 3, /* FDIST */ +0x011A: 3, /* FINV */ +0x011B: 1, /* FISHER */ +0x011C: 1, /* FISHERINV */ +0x011D: 2, /* FLOOR */ +0x011E: 4, /* GAMMADIST */ +0x011F: 3, /* GAMMAINV */ +0x0120: 2, /* CEILING */ +0x0121: 4, /* HYPGEOMDIST */ +0x0122: 3, /* LOGNORMDIST */ +0x0123: 3, /* LOGINV */ +0x0124: 3, /* NEGBINOMDIST */ +0x0125: 4, /* NORMDIST */ +0x0126: 1, /* NORMSDIST */ +0x0127: 3, /* NORMINV */ +0x0128: 1, /* NORMSINV */ +0x0129: 3, /* STANDARDIZE */ +0x012A: 1, /* ODD */ +0x012B: 2, /* PERMUT */ +0x012C: 3, /* POISSON */ +0x012D: 3, /* TDIST */ +0x012E: 4, /* WEIBULL */ +0x012F: 2, /* SUMXMY2 */ +0x0130: 2, /* SUMX2MY2 */ +0x0131: 2, /* SUMX2PY2 */ +0x0132: 2, /* CHITEST */ +0x0133: 2, /* CORREL */ +0x0134: 2, /* COVAR */ +0x0135: 3, /* FORECAST */ +0x0136: 2, /* FTEST */ +0x0137: 2, /* INTERCEPT */ +0x0138: 2, /* PEARSON */ +0x0139: 2, /* RSQ */ +0x013A: 2, /* STEYX */ +0x013B: 2, /* SLOPE */ +0x013C: 4, /* TTEST */ +0x0145: 2, /* LARGE */ +0x0146: 2, /* SMALL */ +0x0147: 2, /* QUARTILE */ +0x0148: 2, /* PERCENTILE */ +0x014B: 2, /* TRIMMEAN */ +0x014C: 2, /* TINV */ +0x0151: 2, /* POWER */ +0x0156: 1, /* RADIANS */ +0x0157: 1, /* DEGREES */ +0x015A: 2, /* COUNTIF */ +0x015B: 1, /* COUNTBLANK */ +0x015E: 4, /* ISPMT */ +0x015F: 3, /* DATEDIF */ +0x0160: 1, /* DATESTRING */ +0x0161: 2, /* NUMBERSTRING */ +0x0168: 1, /* PHONETIC */ +0x0170: 1, /* BAHTTEXT */ +0x0171: 1, /* THAIDAYOFWEEK */ +0x0172: 1, /* THAIDIGIT */ +0x0173: 1, /* THAIMONTHOFYEAR */ +0x0174: 1, /* THAINUMSOUND */ +0x0175: 1, /* THAINUMSTRING */ +0x0176: 1, /* THAISTRINGLENGTH */ +0x0177: 1, /* ISTHAIDIGIT */ +0x0178: 1, /* ROUNDBAHTDOWN */ +0x0179: 1, /* ROUNDBAHTUP */ +0x017A: 1, /* THAIYEAR */ +0xFFFF: 0 }; /* [MS-XLSX] 2.2.3 Functions */ var XLSXFutureFunctions = { @@ -7275,11 +7515,11 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(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); } -var mergecregex = //g; +var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /]*\/>/g; +var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /]*\/>/g; +var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ function parse_ws_xml(data, opts, rels) { if(!data) return data; @@ -7287,7 +7527,8 @@ function parse_ws_xml(data, opts, rels) { var s = {}; /* 18.3.1.35 dimension CT_SheetDimension ? */ - var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -7295,28 +7536,27 @@ function parse_ws_xml(data, opts, rels) { /* 18.3.1.55 mergeCells CT_MergeCells */ var mergecells = []; - if(data.indexOf("")!==-1) { - var merges = data.match(mergecregex); - if(merges) for(ridx = 0; ridx != merges.length; ++ridx) - mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); - } + var merges = data.match(mergecregex); + if(merges) for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles && data.indexOf("")!==-1) { + if(opts.cellStyles) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - parse_ws_xml_cols(columns, cols); + if(cols) parse_ws_xml_cols(columns, cols); } - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }); /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), rels); + var hlink = data.match(hlinkregex); + if(hlink) parse_ws_xml_hlinks(s, hlink, rels); if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -7386,7 +7626,7 @@ function write_ws_xml_cols(ws, cols) { var o = [""], col, width; for(var i = 0; i != cols.length; ++i) { if(!(col = cols[i])) continue; - var p = {min:i+1,max:i+1}; + var p = ({min:i+1,max:i+1}); /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -7416,7 +7656,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { break; default: vv = cell.v; break; } - var v = writetag('v', escapexml(vv)), o = {r:ref}; + var v = writetag('v', escapexml(vv)), o = ({r:ref}); /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -7438,7 +7678,7 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; - var rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/is>/; + var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { @@ -7467,7 +7707,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref !== null && cref.length === 2) { + if(cref != null && cref.length === 2) { idx = 0; d=cref[1]; for(i=0; i != d.length; ++i) { if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break; @@ -7480,10 +7720,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { tag = parsexmltag(x.substr(0,i), true); if(!tag.r) tag.r = utils.encode_cell({r:tagr-1, c:tagc}); d = x.substr(i); - p = {t:""}; + p = ({t:""}); - if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); - if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); + // $FlowIgnore + if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); + // $FlowIgnore + if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7510,7 +7752,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; + if(cref != null) { if((sstr = parse_si(cref[1]))) p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': @@ -7535,7 +7777,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { }; })(); function write_ws_xml_data(ws, opts, idx, wb) { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -7800,10 +8042,10 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; - recordhopper(data, function ws_parse(val, R) { - //console.log(R); + recordhopper(data, function ws_parse(val, Record) { + //console.log(Record); if(end) return; - switch(R.n) { + switch(Record.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; @@ -7821,7 +8063,7 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = {t:val[2]}; + p = ({t:val[2]}); switch(val[2]) { case 'n': p.v = val[1]; break; case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break; @@ -7839,7 +8081,7 @@ function parse_ws_bin(data, opts, rels) { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = {t:'s',v:undefined}; + p = ({t:'s',v:undefined}); s[encode_col(C=val[0].c) + rr] = p; if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; @@ -7975,10 +8217,10 @@ function parse_ws_bin(data, opts, rels) { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); - if(!s["!ref"] && (refguess.s.r < 2000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); + if(!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); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -8004,7 +8246,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts) { case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o = {r:R, c:C}; + var o = ({r:R, c:C}); /* TODO: cell style */ o.s = get_cell_style(opts.cellXfs, cell, opts); switch(cell.t) { @@ -8201,9 +8443,10 @@ function parse_wb_defaults(wb) { /* 18.2 Workbook */ var wbnsregex = /<\w+:workbook/; function parse_wb_xml(data, opts) { + if(!data) throw new Error("Could not find file"); var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, xmlns = "xmlns"; - data.match(tagregex).forEach(function xml_wb(x) { + (data.match(tagregex)||[]).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case ''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; var styles = {}, stag = {}; @@ -9250,7 +9500,7 @@ function parse_xlml_xml(d, opts) { } if(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); } - var out = {}; + var out = ({}); if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -9268,8 +9518,10 @@ function parse_xlml(data, opts) { } } -function write_xlml(wb, opts) { } - +function write_xlml(wb, opts) { + var o = [XML_HEADER]; + return o.join(""); +} /* [MS-OLEDS] 2.3.8 CompObjStream */ function parse_compobj(obj) { var v = {}; @@ -9294,7 +9546,7 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw "Unsupported Unicode Extension"; + throw new Error("Unsupported Unicode Extension"); } /* 2.4.58 Continue logic */ @@ -9317,7 +9569,7 @@ function slurp(R, blob, length, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = bconcat(bufs); + var b = (bconcat(bufs)); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } @@ -9325,10 +9577,11 @@ function slurp(R, blob, length, opts) { } function safe_format_xf(p, opts, date1904) { + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } + if(p.t === 'e'); else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -9342,12 +9595,12 @@ function safe_format_xf(p, opts, date1904) { } function make_cell(val, ixfe, t) { - return {v:val, ixfe:ixfe, t:t}; + return ({v:val, ixfe:ixfe, t:t}); } // 2.3.2 function parse_workbook(blob, options) { - var wb = {opts:{}}; + var wb = ({opts:{}}); var Sheets = {}; var out = {}; var Directory = {}; @@ -9395,7 +9648,7 @@ function parse_workbook(blob, options) { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = { + var opts = ({ enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -9407,17 +9660,18 @@ function parse_workbook(blob, options) { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }; + }); if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = [[]]; // 1-indexed, will hold extern names + var supbooks = ([[]]); // 1-indexed, will hold extern names var sbc = 0, sbci = 0, sbcli = 0; supbooks.SheetNames = opts.snames; supbooks.sharedf = opts.sharedf; supbooks.arrayf = opts.arrayf; var last_Rn = ''; var file_depth = 0; /* TODO: make a real stack */ + var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -9429,6 +9683,7 @@ function parse_workbook(blob, options) { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; + //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -9444,10 +9699,6 @@ function parse_workbook(blob, options) { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; - /* BIFF5 overrides */ - if(opts.biff === 5 || opts.biff === 2) switch(Rn) { - case 'Lbl': Rn = 'Label'; break; - } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -9525,41 +9776,48 @@ function parse_workbook(blob, options) { out = {}; } break; case 'BOF': { - if(opts.biff !== 8); + if(opts.biff !== 8){} else if(val.BIFFVer === 0x0500) opts.biff = 5; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; + else if(RecordType === 0x0009) opts.biff = 2; + else if(RecordType === 0x0209) opts.biff = 3; + else if(RecordType === 0x0409) opts.biff = 4; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff === 2) { + if(opts.biff < 5) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; + /* fake BoundSheet8 */ + var fakebs8 = {pos: blob.l - length, name:cur_sheet}; + Directory[fakebs8.pos] = fakebs8; + opts.snames.push(cur_sheet); } else cur_sheet = (Directory[s] || {name:""}).name; mergecells = []; objects = []; } break; - case 'Number': case 'BIFF2NUM': { + case 'Number': case 'BIFF2NUM': case 'BIFF2INT': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'BoolErr': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'RK': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; case 'MulRk': { for(var j = val.c; j <= val.C; ++j) { var ixfe = val.rkrec[j-val.c][0]; temp_val= {ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -9568,10 +9826,10 @@ function parse_workbook(blob, options) { case 'String': last_formula = val; break; case 'Array Formula': throw "Array Formula unsupported"; default: - temp_val = {v:val.val, ixfe:val.cell.ixfe, t:val.tt}; + temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -9579,10 +9837,10 @@ function parse_workbook(blob, options) { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = {v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}; + temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}); temp_val.XF = XFs[temp_val.ixfe]; if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; } @@ -9594,20 +9852,18 @@ function parse_workbook(blob, options) { if(!cell_valid) break; //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); /* TODO: capture range */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': - //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Label': case 'BIFF2STR': - /* Some writers erroneously write Label */ temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; - if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); + safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -9619,6 +9875,9 @@ function parse_workbook(blob, options) { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; + case 'BIFF2FORMAT': { + SSF.load(val, BIFF2Fmt++); + } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -9871,12 +10130,18 @@ function parse_workbook(blob, options) { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; + default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; - default: switch(R.n) { /* nested */ + /* BIFF2-4 records */ + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; + case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; + case 'Dimension': break; + /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -9885,7 +10150,7 @@ function parse_workbook(blob, options) { }}}} } else blob.l += length; } - var sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); + var sheetnamesraw = Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); var sheetnames = sheetnamesraw.slice(); wb.Directory=sheetnamesraw; wb.SheetNames=sheetnamesraw; @@ -9904,13 +10169,13 @@ if(!options) options = {}; fix_read_opts(options); reset_cp(); var CompObj, Summary, Workbook; -if(cfb.find) { +if(cfb.FullPaths) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = {content: cfb}; + Workbook = ({content: cfb}); } if(!Workbook) Workbook = cfb.find('/Book'); @@ -9923,7 +10188,7 @@ else { else throw new Error("Cannot find Workbook stream"); } -if(cfb.find) parse_props(cfb); +if(cfb.FullPaths) parse_props(cfb); var props = {}; for(var y in cfb.Summary) props[y] = cfb.Summary[y]; @@ -9947,1234 +10212,1371 @@ function parse_props(cfb) { /* [MS-XLSB] 2.3 Record Enumeration */ var XLSBRecordEnum = { - 0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, - 0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, - 0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, - 0x0003: { n:"BrtCellError", f:parse_BrtCellError }, - 0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, - 0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, - 0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, - 0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, - 0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, - 0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, - 0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, - 0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, - 0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, - 0x0013: { n:"BrtSSTItem", f:parse_RichStr }, - 0x0014: { n:"BrtPCDIMissing", f:parsenoop }, - 0x0015: { n:"BrtPCDINumber", f:parsenoop }, - 0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, - 0x0017: { n:"BrtPCDIError", f:parsenoop }, - 0x0018: { n:"BrtPCDIString", f:parsenoop }, - 0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, - 0x001A: { n:"BrtPCDIIndex", f:parsenoop }, - 0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, - 0x001C: { n:"BrtPCDIANumber", f:parsenoop }, - 0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, - 0x001E: { n:"BrtPCDIAError", f:parsenoop }, - 0x001F: { n:"BrtPCDIAString", f:parsenoop }, - 0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, - 0x0021: { n:"BrtPCRRecord", f:parsenoop }, - 0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, - 0x0023: { n:"BrtFRTBegin", f:parsenoop }, - 0x0024: { n:"BrtFRTEnd", f:parsenoop }, - 0x0025: { n:"BrtACBegin", f:parsenoop }, - 0x0026: { n:"BrtACEnd", f:parsenoop }, - 0x0027: { n:"BrtName", f:parsenoop }, - 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, - 0x002A: { n:"BrtIndexBlock", f:parsenoop }, - 0x002B: { n:"BrtFont", f:parse_BrtFont }, - 0x002C: { n:"BrtFmt", f:parse_BrtFmt }, - 0x002D: { n:"BrtFill", f:parsenoop }, - 0x002E: { n:"BrtBorder", f:parsenoop }, - 0x002F: { n:"BrtXF", f:parse_BrtXF }, - 0x0030: { n:"BrtStyle", f:parsenoop }, - 0x0031: { n:"BrtCellMeta", f:parsenoop }, - 0x0032: { n:"BrtValueMeta", f:parsenoop }, - 0x0033: { n:"BrtMdb", f:parsenoop }, - 0x0034: { n:"BrtBeginFmd", f:parsenoop }, - 0x0035: { n:"BrtEndFmd", f:parsenoop }, - 0x0036: { n:"BrtBeginMdx", f:parsenoop }, - 0x0037: { n:"BrtEndMdx", f:parsenoop }, - 0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, - 0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, - 0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, - 0x003B: { n:"BrtStr", f:parsenoop }, - 0x003C: { n:"BrtColInfo", f:parsenoop }, - 0x003E: { n:"BrtCellRString", f:parsenoop }, - 0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, - 0x0040: { n:"BrtDVal", f:parsenoop }, - 0x0041: { n:"BrtSxvcellNum", f:parsenoop }, - 0x0042: { n:"BrtSxvcellStr", f:parsenoop }, - 0x0043: { n:"BrtSxvcellBool", f:parsenoop }, - 0x0044: { n:"BrtSxvcellErr", f:parsenoop }, - 0x0045: { n:"BrtSxvcellDate", f:parsenoop }, - 0x0046: { n:"BrtSxvcellNil", f:parsenoop }, - 0x0080: { n:"BrtFileVersion", f:parsenoop }, - 0x0081: { n:"BrtBeginSheet", f:parsenoop }, - 0x0082: { n:"BrtEndSheet", f:parsenoop }, - 0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, - 0x0084: { n:"BrtEndBook", f:parsenoop }, - 0x0085: { n:"BrtBeginWsViews", f:parsenoop }, - 0x0086: { n:"BrtEndWsViews", f:parsenoop }, - 0x0087: { n:"BrtBeginBookViews", f:parsenoop }, - 0x0088: { n:"BrtEndBookViews", f:parsenoop }, - 0x0089: { n:"BrtBeginWsView", f:parsenoop }, - 0x008A: { n:"BrtEndWsView", f:parsenoop }, - 0x008B: { n:"BrtBeginCsViews", f:parsenoop }, - 0x008C: { n:"BrtEndCsViews", f:parsenoop }, - 0x008D: { n:"BrtBeginCsView", f:parsenoop }, - 0x008E: { n:"BrtEndCsView", f:parsenoop }, - 0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, - 0x0090: { n:"BrtEndBundleShs", f:parsenoop }, - 0x0091: { n:"BrtBeginSheetData", f:parsenoop }, - 0x0092: { n:"BrtEndSheetData", f:parsenoop }, - 0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, - 0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, - 0x0097: { n:"BrtPane", f:parsenoop }, - 0x0098: { n:"BrtSel", f:parsenoop }, - 0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, - 0x009A: { n:"BrtWbFactoid", f:parsenoop }, - 0x009B: { n:"BrtFileRecover", f:parsenoop }, - 0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, - 0x009D: { n:"BrtCalcProp", f:parsenoop }, - 0x009E: { n:"BrtBookView", f:parsenoop }, - 0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, - 0x00A0: { n:"BrtEndSst", f:parsenoop }, - 0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, - 0x00A2: { n:"BrtEndAFilter", f:parsenoop }, - 0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, - 0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, - 0x00A5: { n:"BrtBeginFilters", f:parsenoop }, - 0x00A6: { n:"BrtEndFilters", f:parsenoop }, - 0x00A7: { n:"BrtFilter", f:parsenoop }, - 0x00A8: { n:"BrtColorFilter", f:parsenoop }, - 0x00A9: { n:"BrtIconFilter", f:parsenoop }, - 0x00AA: { n:"BrtTop10Filter", f:parsenoop }, - 0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, - 0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, - 0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, - 0x00AE: { n:"BrtCustomFilter", f:parsenoop }, - 0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, - 0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, - 0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, - 0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, - 0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, - 0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, - 0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, - 0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, - 0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, - 0x00B8: { n:"BrtEndPCDField", f:parsenoop }, - 0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, - 0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, - 0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, - 0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, - 0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, - 0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, - 0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, - 0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, - 0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, - 0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, - 0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, - 0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, - 0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, - 0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, - 0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, - 0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, - 0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, - 0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, - 0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, - 0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, - 0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, - 0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, - 0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, - 0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, - 0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, - 0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, - 0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, - 0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, - 0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, - 0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, - 0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, - 0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, - 0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, - 0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, - 0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, - 0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, - 0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, - 0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, - 0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, - 0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, - 0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, - 0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, - 0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, - 0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, - 0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, - 0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, - 0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, - 0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, - 0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, - 0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, - 0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, - 0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, - 0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, - 0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, - 0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, - 0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, - 0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, - 0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, - 0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, - 0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, - 0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, - 0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, - 0x00F7: { n:"BrtBeginPRule", f:parsenoop }, - 0x00F8: { n:"BrtEndPRule", f:parsenoop }, - 0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, - 0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, - 0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, - 0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, - 0x00FD: { n:"BrtBeginPNames", f:parsenoop }, - 0x00FE: { n:"BrtEndPNames", f:parsenoop }, - 0x00FF: { n:"BrtBeginPName", f:parsenoop }, - 0x0100: { n:"BrtEndPName", f:parsenoop }, - 0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, - 0x0102: { n:"BrtEndPNPairs", f:parsenoop }, - 0x0103: { n:"BrtBeginPNPair", f:parsenoop }, - 0x0104: { n:"BrtEndPNPair", f:parsenoop }, - 0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, - 0x0106: { n:"BrtEndECWebProps", f:parsenoop }, - 0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, - 0x0108: { n:"BrtEndECWPTables", f:parsenoop }, - 0x0109: { n:"BrtBeginECParams", f:parsenoop }, - 0x010A: { n:"BrtEndECParams", f:parsenoop }, - 0x010B: { n:"BrtBeginECParam", f:parsenoop }, - 0x010C: { n:"BrtEndECParam", f:parsenoop }, - 0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, - 0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, - 0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, - 0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, - 0x0111: { n:"BrtBeginDims", f:parsenoop }, - 0x0112: { n:"BrtEndDims", f:parsenoop }, - 0x0113: { n:"BrtBeginDim", f:parsenoop }, - 0x0114: { n:"BrtEndDim", f:parsenoop }, - 0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, - 0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, - 0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, - 0x0118: { n:"BrtBeginSXView", f:parsenoop }, - 0x0119: { n:"BrtEndSXVI", f:parsenoop }, - 0x011A: { n:"BrtBeginSXVI", f:parsenoop }, - 0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, - 0x011C: { n:"BrtEndSXVIs", f:parsenoop }, - 0x011D: { n:"BrtBeginSXVD", f:parsenoop }, - 0x011E: { n:"BrtEndSXVD", f:parsenoop }, - 0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, - 0x0120: { n:"BrtEndSXVDs", f:parsenoop }, - 0x0121: { n:"BrtBeginSXPI", f:parsenoop }, - 0x0122: { n:"BrtEndSXPI", f:parsenoop }, - 0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, - 0x0124: { n:"BrtEndSXPIs", f:parsenoop }, - 0x0125: { n:"BrtBeginSXDI", f:parsenoop }, - 0x0126: { n:"BrtEndSXDI", f:parsenoop }, - 0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, - 0x0128: { n:"BrtEndSXDIs", f:parsenoop }, - 0x0129: { n:"BrtBeginSXLI", f:parsenoop }, - 0x012A: { n:"BrtEndSXLI", f:parsenoop }, - 0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, - 0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, - 0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, - 0x012E: { n:"BrtEndSXLICols", f:parsenoop }, - 0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, - 0x0130: { n:"BrtEndSXFormat", f:parsenoop }, - 0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, - 0x0132: { n:"BrtEndSxFormats", f:parsenoop }, - 0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, - 0x0134: { n:"BrtEndSxSelect", f:parsenoop }, - 0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, - 0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, - 0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, - 0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, - 0x0139: { n:"BrtEndSXLocation", f:parsenoop }, - 0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, - 0x013B: { n:"BrtEndSXView", f:parsenoop }, - 0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, - 0x013D: { n:"BrtEndSXTHs", f:parsenoop }, - 0x013E: { n:"BrtBeginSXTH", f:parsenoop }, - 0x013F: { n:"BrtEndSXTH", f:parsenoop }, - 0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, - 0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, - 0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, - 0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, - 0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, - 0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, - 0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, - 0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, - 0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, - 0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, - 0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, - 0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, - 0x014C: { n:"BrtBeginMetadata", f:parsenoop }, - 0x014D: { n:"BrtEndMetadata", f:parsenoop }, - 0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, - 0x014F: { n:"BrtMdtinfo", f:parsenoop }, - 0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, - 0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, - 0x0152: { n:"BrtEndEsmdb", f:parsenoop }, - 0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, - 0x0154: { n:"BrtEndEsfmd", f:parsenoop }, - 0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, - 0x0156: { n:"BrtEndSingleCells", f:parsenoop }, - 0x0157: { n:"BrtBeginList", f:parsenoop }, - 0x0158: { n:"BrtEndList", f:parsenoop }, - 0x0159: { n:"BrtBeginListCols", f:parsenoop }, - 0x015A: { n:"BrtEndListCols", f:parsenoop }, - 0x015B: { n:"BrtBeginListCol", f:parsenoop }, - 0x015C: { n:"BrtEndListCol", f:parsenoop }, - 0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, - 0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, - 0x015F: { n:"BrtListCCFmla", f:parsenoop }, - 0x0160: { n:"BrtListTrFmla", f:parsenoop }, - 0x0161: { n:"BrtBeginExternals", f:parsenoop }, - 0x0162: { n:"BrtEndExternals", f:parsenoop }, - 0x0163: { n:"BrtSupBookSrc", f:parsenoop }, - 0x0165: { n:"BrtSupSelf", f:parsenoop }, - 0x0166: { n:"BrtSupSame", f:parsenoop }, - 0x0167: { n:"BrtSupTabs", f:parsenoop }, - 0x0168: { n:"BrtBeginSupBook", f:parsenoop }, - 0x0169: { n:"BrtPlaceholderName", f:parsenoop }, - 0x016A: { n:"BrtExternSheet", f:parsenoop }, - 0x016B: { n:"BrtExternTableStart", f:parsenoop }, - 0x016C: { n:"BrtExternTableEnd", f:parsenoop }, - 0x016E: { n:"BrtExternRowHdr", f:parsenoop }, - 0x016F: { n:"BrtExternCellBlank", f:parsenoop }, - 0x0170: { n:"BrtExternCellReal", f:parsenoop }, - 0x0171: { n:"BrtExternCellBool", f:parsenoop }, - 0x0172: { n:"BrtExternCellError", f:parsenoop }, - 0x0173: { n:"BrtExternCellString", f:parsenoop }, - 0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, - 0x0175: { n:"BrtEndEsmdx", f:parsenoop }, - 0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, - 0x0177: { n:"BrtEndMdxSet", f:parsenoop }, - 0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, - 0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, - 0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, - 0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, - 0x017C: { n:"BrtBeginEsstr", f:parsenoop }, - 0x017D: { n:"BrtEndEsstr", f:parsenoop }, - 0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, - 0x017F: { n:"BrtEndPRFItem", f:parsenoop }, - 0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, - 0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, - 0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, - 0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, - 0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, - 0x0185: { n:"BrtEndISXVIs", f:parsenoop }, - 0x0186: { n:"BrtBeginColInfos", f:parsenoop }, - 0x0187: { n:"BrtEndColInfos", f:parsenoop }, - 0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, - 0x0189: { n:"BrtEndRwBrk", f:parsenoop }, - 0x018A: { n:"BrtBeginColBrk", f:parsenoop }, - 0x018B: { n:"BrtEndColBrk", f:parsenoop }, - 0x018C: { n:"BrtBrk", f:parsenoop }, - 0x018D: { n:"BrtUserBookView", f:parsenoop }, - 0x018E: { n:"BrtInfo", f:parsenoop }, - 0x018F: { n:"BrtCUsr", f:parsenoop }, - 0x0190: { n:"BrtUsr", f:parsenoop }, - 0x0191: { n:"BrtBeginUsers", f:parsenoop }, - 0x0193: { n:"BrtEOF", f:parsenoop }, - 0x0194: { n:"BrtUCR", f:parsenoop }, - 0x0195: { n:"BrtRRInsDel", f:parsenoop }, - 0x0196: { n:"BrtRREndInsDel", f:parsenoop }, - 0x0197: { n:"BrtRRMove", f:parsenoop }, - 0x0198: { n:"BrtRREndMove", f:parsenoop }, - 0x0199: { n:"BrtRRChgCell", f:parsenoop }, - 0x019A: { n:"BrtRREndChgCell", f:parsenoop }, - 0x019B: { n:"BrtRRHeader", f:parsenoop }, - 0x019C: { n:"BrtRRUserView", f:parsenoop }, - 0x019D: { n:"BrtRRRenSheet", f:parsenoop }, - 0x019E: { n:"BrtRRInsertSh", f:parsenoop }, - 0x019F: { n:"BrtRRDefName", f:parsenoop }, - 0x01A0: { n:"BrtRRNote", f:parsenoop }, - 0x01A1: { n:"BrtRRConflict", f:parsenoop }, - 0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, - 0x01A3: { n:"BrtRRFormat", f:parsenoop }, - 0x01A4: { n:"BrtRREndFormat", f:parsenoop }, - 0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, - 0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, - 0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, - 0x01A8: { n:"BrtEndUserShView", f:parsenoop }, - 0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, - 0x01AA: { n:"BrtArrFmla", f:parsenoop }, - 0x01AB: { n:"BrtShrFmla", f:parsenoop }, - 0x01AC: { n:"BrtTable", f:parsenoop }, - 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, - 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, - 0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, - 0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, - 0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, - 0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, - 0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, - 0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, - 0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, - 0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, - 0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, - 0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, - 0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, - 0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, - 0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, - 0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, - 0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, - 0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, - 0x01BF: { n:"BrtBeginQSI", f:parsenoop }, - 0x01C0: { n:"BrtEndQSI", f:parsenoop }, - 0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, - 0x01C2: { n:"BrtEndQSIR", f:parsenoop }, - 0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, - 0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, - 0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, - 0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, - 0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, - 0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, - 0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, - 0x01CA: { n:"BrtEndQSIF", f:parsenoop }, - 0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, - 0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, - 0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, - 0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, - 0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, - 0x01D0: { n:"BrtEndCFRule", f:parsenoop }, - 0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, - 0x01D2: { n:"BrtEndIconSet", f:parsenoop }, - 0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, - 0x01D4: { n:"BrtEndDatabar", f:parsenoop }, - 0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, - 0x01D6: { n:"BrtEndColorScale", f:parsenoop }, - 0x01D7: { n:"BrtCFVO", f:parsenoop }, - 0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, - 0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, - 0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, - 0x01DB: { n:"BrtIndexedColor", f:parsenoop }, - 0x01DC: { n:"BrtMargins", f:parsenoop }, - 0x01DD: { n:"BrtPrintOptions", f:parsenoop }, - 0x01DE: { n:"BrtPageSetup", f:parsenoop }, - 0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, - 0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, - 0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, - 0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, - 0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, - 0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, - 0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, - 0x01E6: { n:"BrtBeginMgs", f:parsenoop }, - 0x01E7: { n:"BrtEndMGs", f:parsenoop }, - 0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, - 0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, - 0x01EA: { n:"BrtBeginMG", f:parsenoop }, - 0x01EB: { n:"BrtEndMG", f:parsenoop }, - 0x01EC: { n:"BrtBeginMap", f:parsenoop }, - 0x01ED: { n:"BrtEndMap", f:parsenoop }, - 0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, - 0x01EF: { n:"BrtBeginDCon", f:parsenoop }, - 0x01F0: { n:"BrtEndDCon", f:parsenoop }, - 0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, - 0x01F2: { n:"BrtEndDRefs", f:parsenoop }, - 0x01F3: { n:"BrtDRef", f:parsenoop }, - 0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, - 0x01F5: { n:"BrtEndScenMan", f:parsenoop }, - 0x01F6: { n:"BrtBeginSct", f:parsenoop }, - 0x01F7: { n:"BrtEndSct", f:parsenoop }, - 0x01F8: { n:"BrtSlc", f:parsenoop }, - 0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, - 0x01FA: { n:"BrtEndDXFs", f:parsenoop }, - 0x01FB: { n:"BrtDXF", f:parsenoop }, - 0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, - 0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, - 0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, - 0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, - 0x0200: { n:"BrtTableStyleElement", f:parsenoop }, - 0x0201: { n:"BrtTableStyleClient", f:parsenoop }, - 0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, - 0x0203: { n:"BrtEndVolDeps", f:parsenoop }, - 0x0204: { n:"BrtBeginVolType", f:parsenoop }, - 0x0205: { n:"BrtEndVolType", f:parsenoop }, - 0x0206: { n:"BrtBeginVolMain", f:parsenoop }, - 0x0207: { n:"BrtEndVolMain", f:parsenoop }, - 0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, - 0x0209: { n:"BrtEndVolTopic", f:parsenoop }, - 0x020A: { n:"BrtVolSubtopic", f:parsenoop }, - 0x020B: { n:"BrtVolRef", f:parsenoop }, - 0x020C: { n:"BrtVolNum", f:parsenoop }, - 0x020D: { n:"BrtVolErr", f:parsenoop }, - 0x020E: { n:"BrtVolStr", f:parsenoop }, - 0x020F: { n:"BrtVolBool", f:parsenoop }, - 0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, - 0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, - 0x0212: { n:"BrtBeginSortState", f:parsenoop }, - 0x0213: { n:"BrtEndSortState", f:parsenoop }, - 0x0214: { n:"BrtBeginSortCond", f:parsenoop }, - 0x0215: { n:"BrtEndSortCond", f:parsenoop }, - 0x0216: { n:"BrtBookProtection", f:parsenoop }, - 0x0217: { n:"BrtSheetProtection", f:parsenoop }, - 0x0218: { n:"BrtRangeProtection", f:parsenoop }, - 0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, - 0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, - 0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, - 0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, - 0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, - 0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, - 0x0224: { n:"BrtFileSharing", f:parsenoop }, - 0x0225: { n:"BrtOleSize", f:parsenoop }, - 0x0226: { n:"BrtDrawing", f:parsenoop }, - 0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, - 0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, - 0x0229: { n:"BrtWebOpt", f:parsenoop }, - 0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, - 0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, - 0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, - 0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, - 0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, - 0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, - 0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, - 0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, - 0x0232: { n:"BrtBkHim", f:parsenoop }, - 0x0234: { n:"BrtColor", f:parsenoop }, - 0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, - 0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, - 0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, - 0x023A: { n:"BrtEndMRUColors", f:parsenoop }, - 0x023C: { n:"BrtMRUColor", f:parsenoop }, - 0x023D: { n:"BrtBeginDVals", f:parsenoop }, - 0x023E: { n:"BrtEndDVals", f:parsenoop }, - 0x0241: { n:"BrtSupNameStart", f:parsenoop }, - 0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, - 0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, - 0x0244: { n:"BrtSupNameNum", f:parsenoop }, - 0x0245: { n:"BrtSupNameErr", f:parsenoop }, - 0x0246: { n:"BrtSupNameSt", f:parsenoop }, - 0x0247: { n:"BrtSupNameNil", f:parsenoop }, - 0x0248: { n:"BrtSupNameBool", f:parsenoop }, - 0x0249: { n:"BrtSupNameFmla", f:parsenoop }, - 0x024A: { n:"BrtSupNameBits", f:parsenoop }, - 0x024B: { n:"BrtSupNameEnd", f:parsenoop }, - 0x024C: { n:"BrtEndSupBook", f:parsenoop }, - 0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, - 0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, - 0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, - 0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, - 0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, - 0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, - 0x0253: { n:"BrtEndSmartTags", f:parsenoop }, - 0x0254: { n:"BrtSmartTagType", f:parsenoop }, - 0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, - 0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, - 0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, - 0x0258: { n:"BrtEndSXFilters", f:parsenoop }, - 0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, - 0x025A: { n:"BrtEndSXFilter", f:parsenoop }, - 0x025B: { n:"BrtBeginFills", f:parsenoop }, - 0x025C: { n:"BrtEndFills", f:parsenoop }, - 0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, - 0x025E: { n:"BrtEndCellWatches", f:parsenoop }, - 0x025F: { n:"BrtCellWatch", f:parsenoop }, - 0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, - 0x0261: { n:"BrtEndCRErrs", f:parsenoop }, - 0x0262: { n:"BrtCrashRecErr", f:parsenoop }, - 0x0263: { n:"BrtBeginFonts", f:parsenoop }, - 0x0264: { n:"BrtEndFonts", f:parsenoop }, - 0x0265: { n:"BrtBeginBorders", f:parsenoop }, - 0x0266: { n:"BrtEndBorders", f:parsenoop }, - 0x0267: { n:"BrtBeginFmts", f:parsenoop }, - 0x0268: { n:"BrtEndFmts", f:parsenoop }, - 0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, - 0x026A: { n:"BrtEndCellXFs", f:parsenoop }, - 0x026B: { n:"BrtBeginStyles", f:parsenoop }, - 0x026C: { n:"BrtEndStyles", f:parsenoop }, - 0x0271: { n:"BrtBigName", f:parsenoop }, - 0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, - 0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, - 0x0274: { n:"BrtBeginComments", f:parsenoop }, - 0x0275: { n:"BrtEndComments", f:parsenoop }, - 0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, - 0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, - 0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, - 0x0279: { n:"BrtBeginCommentList", f:parsenoop }, - 0x027A: { n:"BrtEndCommentList", f:parsenoop }, - 0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, - 0x027C: { n:"BrtEndComment", f:parsenoop }, - 0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, - 0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, - 0x027F: { n:"BrtOleObject", f:parsenoop }, - 0x0280: { n:"BrtEndOleObjects", f:parsenoop }, - 0x0281: { n:"BrtBeginSxrules", f:parsenoop }, - 0x0282: { n:"BrtEndSxRules", f:parsenoop }, - 0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, - 0x0284: { n:"BrtActiveX", f:parsenoop }, - 0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, - 0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, - 0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, - 0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, - 0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, - 0x028B: { n:"BrtCsProp", f:parsenoop }, - 0x028C: { n:"BrtCsPageSetup", f:parsenoop }, - 0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, - 0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, - 0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, - 0x0290: { n:"BrtEndUserCsView", f:parsenoop }, - 0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, - 0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, - 0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, - 0x0294: { n:"BrtBeginListParts", f:parsenoop }, - 0x0295: { n:"BrtListPart", f:parsenoop }, - 0x0296: { n:"BrtEndListParts", f:parsenoop }, - 0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, - 0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, - 0x0299: { n:"BrtFnGroup", f:parsenoop }, - 0x029A: { n:"BrtEndFnGroup", f:parsenoop }, - 0x029B: { n:"BrtSupAddin", f:parsenoop }, - 0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, - 0x029D: { n:"BrtCsProtection", f:parsenoop }, - 0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, - 0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, - 0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, - 0x02A2: { n:"BrtEndRRSort", f:parsenoop }, - 0x02A3: { n:"BrtRRSortItem", f:parsenoop }, - 0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, - 0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, - 0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, - 0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, - 0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, - 0x0400: { n:"BrtRwDescent", f:parsenoop }, - 0x0401: { n:"BrtKnownFonts", f:parsenoop }, - 0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, - 0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, - 0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, - 0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, - 0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, - 0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, - 0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, - 0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, - 0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, - 0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, - 0x040C: { n:"BrtNameExt", f:parsenoop }, - 0x040D: { n:"BrtPCDH14", f:parsenoop }, - 0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, - 0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, - 0x0410: { n:"BrtSXTH14", f:parsenoop }, - 0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, - 0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, - 0x0413: { n:"BrtSparkline", f:parsenoop }, - 0x0414: { n:"BrtSXDI14", f:parsenoop }, - 0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, - 0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, - 0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, - 0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, - 0x0419: { n:"BrtEndCFRule14", f:parsenoop }, - 0x041A: { n:"BrtCFVO14", f:parsenoop }, - 0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, - 0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, - 0x041D: { n:"BrtDVal14", f:parsenoop }, - 0x041E: { n:"BrtBeginDVals14", f:parsenoop }, - 0x041F: { n:"BrtColor14", f:parsenoop }, - 0x0420: { n:"BrtBeginSparklines", f:parsenoop }, - 0x0421: { n:"BrtEndSparklines", f:parsenoop }, - 0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, - 0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, - 0x0425: { n:"BrtSXVD14", f:parsenoop }, - 0x0426: { n:"BrtBeginSxview14", f:parsenoop }, - 0x0427: { n:"BrtEndSxview14", f:parsenoop }, - 0x042A: { n:"BrtBeginPCD14", f:parsenoop }, - 0x042B: { n:"BrtEndPCD14", f:parsenoop }, - 0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, - 0x042D: { n:"BrtEndExtConn14", f:parsenoop }, - 0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, - 0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, - 0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, - 0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, - 0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, - 0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, - 0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, - 0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, - 0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, - 0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, - 0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, - 0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, - 0x043B: { n:"BrtBeginSlicer", f:parsenoop }, - 0x043C: { n:"BrtEndSlicer", f:parsenoop }, - 0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, - 0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, - 0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, - 0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, - 0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, - 0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, - 0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, - 0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, - 0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, - 0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, - 0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, - 0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, - 0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, - 0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, - 0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, - 0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, - 0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, - 0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, - 0x044F: { n:"BrtRangeProtection14", f:parsenoop }, - 0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, - 0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, - 0x0457: { n:"BrtList14", f:parsenoop }, - 0x0458: { n:"BrtCFIcon", f:parsenoop }, - 0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, - 0x045B: { n:"BrtBeginSlicers", f:parsenoop }, - 0x045C: { n:"BrtEndSlicers", f:parsenoop }, - 0x045D: { n:"BrtWbProp14", f:parsenoop }, - 0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, - 0x045F: { n:"BrtEndSXEdit", f:parsenoop }, - 0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, - 0x0461: { n:"BrtEndSXEdits", f:parsenoop }, - 0x0462: { n:"BrtBeginSXChange", f:parsenoop }, - 0x0463: { n:"BrtEndSXChange", f:parsenoop }, - 0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, - 0x0465: { n:"BrtEndSXChanges", f:parsenoop }, - 0x0466: { n:"BrtSXTupleItems", f:parsenoop }, - 0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, - 0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, - 0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, - 0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, - 0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, - 0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, - 0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, - 0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, - 0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, - 0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, - 0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, - 0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, - 0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, - 0x0475: { n:"BrtPCDField14", f:parsenoop }, - 0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, - 0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, - 0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, - 0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, - 0x047A: { n:"BrtCFRuleExt", f:parsenoop }, - 0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, - 0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, - 0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, - 0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, - 0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, - 0x0481: { n:"BrtEndSortCond14", f:parsenoop }, - 0x0482: { n:"BrtEndDVals14", f:parsenoop }, - 0x0483: { n:"BrtEndIconSet14", f:parsenoop }, - 0x0484: { n:"BrtEndDatabar14", f:parsenoop }, - 0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, - 0x0486: { n:"BrtEndColorScale14", f:parsenoop }, - 0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, - 0x0488: { n:"BrtEndSxrules14", f:parsenoop }, - 0x0489: { n:"BrtBeginPRule14", f:parsenoop }, - 0x048A: { n:"BrtEndPRule14", f:parsenoop }, - 0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, - 0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, - 0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, - 0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, - 0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, - 0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, - 0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, - 0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, - 0x0493: { n:"BrtDxf14", f:parsenoop }, - 0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, - 0x0495: { n:"BrtEndDxf14s", f:parsenoop }, - 0x0499: { n:"BrtFilter14", f:parsenoop }, - 0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, - 0x049C: { n:"BrtCustomFilter14", f:parsenoop }, - 0x049D: { n:"BrtIconFilter14", f:parsenoop }, - 0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, - 0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, - 0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, - 0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, - 0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, - 0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, - 0x0805: { n:"BrtPivotTableRef", f:parsenoop }, - 0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, - 0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, - 0x0808: { n:"BrtEndSxvcells", f:parsenoop }, - 0x0809: { n:"BrtBeginSxRow", f:parsenoop }, - 0x080A: { n:"BrtEndSxRow", f:parsenoop }, - 0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, - 0x0813: { n:"BrtQsi15", f:parsenoop }, - 0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, - 0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, - 0x0816: { n:"BrtWebExtension", f:parsenoop }, - 0x0817: { n:"BrtAbsPath15", f:parsenoop }, - 0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, - 0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, - 0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, - 0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, - 0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, - 0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, - 0x081F: { n:"BrtSxFilter15", f:parsenoop }, - 0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, - 0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, - 0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, - 0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, - 0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, - 0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, - 0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, - 0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, - 0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, - 0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, - 0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, - 0x082C: { n:"BrtPCDH15", f:parsenoop }, - 0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, - 0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, - 0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, - 0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, - 0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, - 0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, - 0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, - 0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, - 0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, - 0x0836: { n:"BrtDxf15", f:parsenoop }, - 0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, - 0x0838: { n:"brtEndDxfs15", f:parsenoop }, - 0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, - 0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, - 0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, - 0x083C: { n:"BrtItemUniqueName", f:parsenoop }, - 0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, - 0x083E: { n:"BrtEndExtConn15", f:parsenoop }, - 0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, - 0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, - 0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, - 0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, - 0x0843: { n:"BrtTextPr15", f:parsenoop }, - 0x0844: { n:"BrtRangePr15", f:parsenoop }, - 0x0845: { n:"BrtDbCommand15", f:parsenoop }, - 0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, - 0x0847: { n:"BrtEndDbTables15", f:parsenoop }, - 0x0848: { n:"BrtDbTable15", f:parsenoop }, - 0x0849: { n:"BrtBeginDataModel", f:parsenoop }, - 0x084A: { n:"BrtEndDataModel", f:parsenoop }, - 0x084B: { n:"BrtBeginModelTables", f:parsenoop }, - 0x084C: { n:"BrtEndModelTables", f:parsenoop }, - 0x084D: { n:"BrtModelTable", f:parsenoop }, - 0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, - 0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, - 0x0850: { n:"BrtModelRelationship", f:parsenoop }, - 0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, - 0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, - 0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, - 0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, - 0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, - 0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, - 0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, - 0x0858: { n:"BrtSXDI15", f:parsenoop }, - 0xFFFF: { n:"", f:parsenoop } +0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, +0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, +0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, +0x0003: { n:"BrtCellError", f:parse_BrtCellError }, +0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, +0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, +0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, +0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, +0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, +0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, +0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, +0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, +0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, +0x0013: { n:"BrtSSTItem", f:parse_RichStr }, +0x0014: { n:"BrtPCDIMissing", f:parsenoop }, +0x0015: { n:"BrtPCDINumber", f:parsenoop }, +0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, +0x0017: { n:"BrtPCDIError", f:parsenoop }, +0x0018: { n:"BrtPCDIString", f:parsenoop }, +0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, +0x001A: { n:"BrtPCDIIndex", f:parsenoop }, +0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, +0x001C: { n:"BrtPCDIANumber", f:parsenoop }, +0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, +0x001E: { n:"BrtPCDIAError", f:parsenoop }, +0x001F: { n:"BrtPCDIAString", f:parsenoop }, +0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, +0x0021: { n:"BrtPCRRecord", f:parsenoop }, +0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, +0x0023: { n:"BrtFRTBegin", f:parsenoop }, +0x0024: { n:"BrtFRTEnd", f:parsenoop }, +0x0025: { n:"BrtACBegin", f:parsenoop }, +0x0026: { n:"BrtACEnd", f:parsenoop }, +0x0027: { n:"BrtName", f:parsenoop }, +0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, +0x002A: { n:"BrtIndexBlock", f:parsenoop }, +0x002B: { n:"BrtFont", f:parse_BrtFont }, +0x002C: { n:"BrtFmt", f:parse_BrtFmt }, +0x002D: { n:"BrtFill", f:parsenoop }, +0x002E: { n:"BrtBorder", f:parsenoop }, +0x002F: { n:"BrtXF", f:parse_BrtXF }, +0x0030: { n:"BrtStyle", f:parsenoop }, +0x0031: { n:"BrtCellMeta", f:parsenoop }, +0x0032: { n:"BrtValueMeta", f:parsenoop }, +0x0033: { n:"BrtMdb", f:parsenoop }, +0x0034: { n:"BrtBeginFmd", f:parsenoop }, +0x0035: { n:"BrtEndFmd", f:parsenoop }, +0x0036: { n:"BrtBeginMdx", f:parsenoop }, +0x0037: { n:"BrtEndMdx", f:parsenoop }, +0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, +0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, +0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, +0x003B: { n:"BrtStr", f:parsenoop }, +0x003C: { n:"BrtColInfo", f:parsenoop }, +0x003E: { n:"BrtCellRString", f:parsenoop }, +0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, +0x0040: { n:"BrtDVal", f:parsenoop }, +0x0041: { n:"BrtSxvcellNum", f:parsenoop }, +0x0042: { n:"BrtSxvcellStr", f:parsenoop }, +0x0043: { n:"BrtSxvcellBool", f:parsenoop }, +0x0044: { n:"BrtSxvcellErr", f:parsenoop }, +0x0045: { n:"BrtSxvcellDate", f:parsenoop }, +0x0046: { n:"BrtSxvcellNil", f:parsenoop }, +0x0080: { n:"BrtFileVersion", f:parsenoop }, +0x0081: { n:"BrtBeginSheet", f:parsenoop }, +0x0082: { n:"BrtEndSheet", f:parsenoop }, +0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, +0x0084: { n:"BrtEndBook", f:parsenoop }, +0x0085: { n:"BrtBeginWsViews", f:parsenoop }, +0x0086: { n:"BrtEndWsViews", f:parsenoop }, +0x0087: { n:"BrtBeginBookViews", f:parsenoop }, +0x0088: { n:"BrtEndBookViews", f:parsenoop }, +0x0089: { n:"BrtBeginWsView", f:parsenoop }, +0x008A: { n:"BrtEndWsView", f:parsenoop }, +0x008B: { n:"BrtBeginCsViews", f:parsenoop }, +0x008C: { n:"BrtEndCsViews", f:parsenoop }, +0x008D: { n:"BrtBeginCsView", f:parsenoop }, +0x008E: { n:"BrtEndCsView", f:parsenoop }, +0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, +0x0090: { n:"BrtEndBundleShs", f:parsenoop }, +0x0091: { n:"BrtBeginSheetData", f:parsenoop }, +0x0092: { n:"BrtEndSheetData", f:parsenoop }, +0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, +0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, +0x0097: { n:"BrtPane", f:parsenoop }, +0x0098: { n:"BrtSel", f:parsenoop }, +0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, +0x009A: { n:"BrtWbFactoid", f:parsenoop }, +0x009B: { n:"BrtFileRecover", f:parsenoop }, +0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, +0x009D: { n:"BrtCalcProp", f:parsenoop }, +0x009E: { n:"BrtBookView", f:parsenoop }, +0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, +0x00A0: { n:"BrtEndSst", f:parsenoop }, +0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, +0x00A2: { n:"BrtEndAFilter", f:parsenoop }, +0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, +0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, +0x00A5: { n:"BrtBeginFilters", f:parsenoop }, +0x00A6: { n:"BrtEndFilters", f:parsenoop }, +0x00A7: { n:"BrtFilter", f:parsenoop }, +0x00A8: { n:"BrtColorFilter", f:parsenoop }, +0x00A9: { n:"BrtIconFilter", f:parsenoop }, +0x00AA: { n:"BrtTop10Filter", f:parsenoop }, +0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, +0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, +0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, +0x00AE: { n:"BrtCustomFilter", f:parsenoop }, +0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, +0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, +0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, +0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, +0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, +0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, +0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, +0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, +0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, +0x00B8: { n:"BrtEndPCDField", f:parsenoop }, +0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, +0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, +0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, +0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, +0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, +0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, +0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, +0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, +0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, +0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, +0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, +0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, +0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, +0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, +0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, +0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, +0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, +0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, +0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, +0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, +0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, +0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, +0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, +0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, +0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, +0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, +0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, +0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, +0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, +0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, +0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, +0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, +0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, +0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, +0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, +0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, +0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, +0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, +0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, +0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, +0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, +0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, +0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, +0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, +0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, +0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, +0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, +0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, +0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, +0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, +0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, +0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, +0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, +0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, +0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, +0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, +0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, +0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, +0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, +0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, +0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, +0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, +0x00F7: { n:"BrtBeginPRule", f:parsenoop }, +0x00F8: { n:"BrtEndPRule", f:parsenoop }, +0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, +0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, +0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, +0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, +0x00FD: { n:"BrtBeginPNames", f:parsenoop }, +0x00FE: { n:"BrtEndPNames", f:parsenoop }, +0x00FF: { n:"BrtBeginPName", f:parsenoop }, +0x0100: { n:"BrtEndPName", f:parsenoop }, +0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, +0x0102: { n:"BrtEndPNPairs", f:parsenoop }, +0x0103: { n:"BrtBeginPNPair", f:parsenoop }, +0x0104: { n:"BrtEndPNPair", f:parsenoop }, +0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, +0x0106: { n:"BrtEndECWebProps", f:parsenoop }, +0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, +0x0108: { n:"BrtEndECWPTables", f:parsenoop }, +0x0109: { n:"BrtBeginECParams", f:parsenoop }, +0x010A: { n:"BrtEndECParams", f:parsenoop }, +0x010B: { n:"BrtBeginECParam", f:parsenoop }, +0x010C: { n:"BrtEndECParam", f:parsenoop }, +0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, +0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, +0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, +0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, +0x0111: { n:"BrtBeginDims", f:parsenoop }, +0x0112: { n:"BrtEndDims", f:parsenoop }, +0x0113: { n:"BrtBeginDim", f:parsenoop }, +0x0114: { n:"BrtEndDim", f:parsenoop }, +0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, +0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, +0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, +0x0118: { n:"BrtBeginSXView", f:parsenoop }, +0x0119: { n:"BrtEndSXVI", f:parsenoop }, +0x011A: { n:"BrtBeginSXVI", f:parsenoop }, +0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, +0x011C: { n:"BrtEndSXVIs", f:parsenoop }, +0x011D: { n:"BrtBeginSXVD", f:parsenoop }, +0x011E: { n:"BrtEndSXVD", f:parsenoop }, +0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, +0x0120: { n:"BrtEndSXVDs", f:parsenoop }, +0x0121: { n:"BrtBeginSXPI", f:parsenoop }, +0x0122: { n:"BrtEndSXPI", f:parsenoop }, +0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, +0x0124: { n:"BrtEndSXPIs", f:parsenoop }, +0x0125: { n:"BrtBeginSXDI", f:parsenoop }, +0x0126: { n:"BrtEndSXDI", f:parsenoop }, +0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, +0x0128: { n:"BrtEndSXDIs", f:parsenoop }, +0x0129: { n:"BrtBeginSXLI", f:parsenoop }, +0x012A: { n:"BrtEndSXLI", f:parsenoop }, +0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, +0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, +0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, +0x012E: { n:"BrtEndSXLICols", f:parsenoop }, +0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, +0x0130: { n:"BrtEndSXFormat", f:parsenoop }, +0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, +0x0132: { n:"BrtEndSxFormats", f:parsenoop }, +0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, +0x0134: { n:"BrtEndSxSelect", f:parsenoop }, +0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, +0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, +0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, +0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, +0x0139: { n:"BrtEndSXLocation", f:parsenoop }, +0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, +0x013B: { n:"BrtEndSXView", f:parsenoop }, +0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, +0x013D: { n:"BrtEndSXTHs", f:parsenoop }, +0x013E: { n:"BrtBeginSXTH", f:parsenoop }, +0x013F: { n:"BrtEndSXTH", f:parsenoop }, +0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, +0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, +0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, +0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, +0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, +0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, +0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, +0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, +0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, +0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, +0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, +0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, +0x014C: { n:"BrtBeginMetadata", f:parsenoop }, +0x014D: { n:"BrtEndMetadata", f:parsenoop }, +0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, +0x014F: { n:"BrtMdtinfo", f:parsenoop }, +0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, +0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, +0x0152: { n:"BrtEndEsmdb", f:parsenoop }, +0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, +0x0154: { n:"BrtEndEsfmd", f:parsenoop }, +0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, +0x0156: { n:"BrtEndSingleCells", f:parsenoop }, +0x0157: { n:"BrtBeginList", f:parsenoop }, +0x0158: { n:"BrtEndList", f:parsenoop }, +0x0159: { n:"BrtBeginListCols", f:parsenoop }, +0x015A: { n:"BrtEndListCols", f:parsenoop }, +0x015B: { n:"BrtBeginListCol", f:parsenoop }, +0x015C: { n:"BrtEndListCol", f:parsenoop }, +0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, +0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, +0x015F: { n:"BrtListCCFmla", f:parsenoop }, +0x0160: { n:"BrtListTrFmla", f:parsenoop }, +0x0161: { n:"BrtBeginExternals", f:parsenoop }, +0x0162: { n:"BrtEndExternals", f:parsenoop }, +0x0163: { n:"BrtSupBookSrc", f:parsenoop }, +0x0165: { n:"BrtSupSelf", f:parsenoop }, +0x0166: { n:"BrtSupSame", f:parsenoop }, +0x0167: { n:"BrtSupTabs", f:parsenoop }, +0x0168: { n:"BrtBeginSupBook", f:parsenoop }, +0x0169: { n:"BrtPlaceholderName", f:parsenoop }, +0x016A: { n:"BrtExternSheet", f:parsenoop }, +0x016B: { n:"BrtExternTableStart", f:parsenoop }, +0x016C: { n:"BrtExternTableEnd", f:parsenoop }, +0x016E: { n:"BrtExternRowHdr", f:parsenoop }, +0x016F: { n:"BrtExternCellBlank", f:parsenoop }, +0x0170: { n:"BrtExternCellReal", f:parsenoop }, +0x0171: { n:"BrtExternCellBool", f:parsenoop }, +0x0172: { n:"BrtExternCellError", f:parsenoop }, +0x0173: { n:"BrtExternCellString", f:parsenoop }, +0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, +0x0175: { n:"BrtEndEsmdx", f:parsenoop }, +0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, +0x0177: { n:"BrtEndMdxSet", f:parsenoop }, +0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, +0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, +0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, +0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, +0x017C: { n:"BrtBeginEsstr", f:parsenoop }, +0x017D: { n:"BrtEndEsstr", f:parsenoop }, +0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, +0x017F: { n:"BrtEndPRFItem", f:parsenoop }, +0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, +0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, +0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, +0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, +0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, +0x0185: { n:"BrtEndISXVIs", f:parsenoop }, +0x0186: { n:"BrtBeginColInfos", f:parsenoop }, +0x0187: { n:"BrtEndColInfos", f:parsenoop }, +0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, +0x0189: { n:"BrtEndRwBrk", f:parsenoop }, +0x018A: { n:"BrtBeginColBrk", f:parsenoop }, +0x018B: { n:"BrtEndColBrk", f:parsenoop }, +0x018C: { n:"BrtBrk", f:parsenoop }, +0x018D: { n:"BrtUserBookView", f:parsenoop }, +0x018E: { n:"BrtInfo", f:parsenoop }, +0x018F: { n:"BrtCUsr", f:parsenoop }, +0x0190: { n:"BrtUsr", f:parsenoop }, +0x0191: { n:"BrtBeginUsers", f:parsenoop }, +0x0193: { n:"BrtEOF", f:parsenoop }, +0x0194: { n:"BrtUCR", f:parsenoop }, +0x0195: { n:"BrtRRInsDel", f:parsenoop }, +0x0196: { n:"BrtRREndInsDel", f:parsenoop }, +0x0197: { n:"BrtRRMove", f:parsenoop }, +0x0198: { n:"BrtRREndMove", f:parsenoop }, +0x0199: { n:"BrtRRChgCell", f:parsenoop }, +0x019A: { n:"BrtRREndChgCell", f:parsenoop }, +0x019B: { n:"BrtRRHeader", f:parsenoop }, +0x019C: { n:"BrtRRUserView", f:parsenoop }, +0x019D: { n:"BrtRRRenSheet", f:parsenoop }, +0x019E: { n:"BrtRRInsertSh", f:parsenoop }, +0x019F: { n:"BrtRRDefName", f:parsenoop }, +0x01A0: { n:"BrtRRNote", f:parsenoop }, +0x01A1: { n:"BrtRRConflict", f:parsenoop }, +0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, +0x01A3: { n:"BrtRRFormat", f:parsenoop }, +0x01A4: { n:"BrtRREndFormat", f:parsenoop }, +0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, +0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, +0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, +0x01A8: { n:"BrtEndUserShView", f:parsenoop }, +0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, +0x01AA: { n:"BrtArrFmla", f:parsenoop }, +0x01AB: { n:"BrtShrFmla", f:parsenoop }, +0x01AC: { n:"BrtTable", f:parsenoop }, +0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, +0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, +0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, +0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, +0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, +0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, +0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, +0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, +0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, +0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, +0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, +0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, +0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, +0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, +0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, +0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, +0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, +0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, +0x01BF: { n:"BrtBeginQSI", f:parsenoop }, +0x01C0: { n:"BrtEndQSI", f:parsenoop }, +0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, +0x01C2: { n:"BrtEndQSIR", f:parsenoop }, +0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, +0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, +0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, +0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, +0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, +0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, +0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, +0x01CA: { n:"BrtEndQSIF", f:parsenoop }, +0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, +0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, +0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, +0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, +0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, +0x01D0: { n:"BrtEndCFRule", f:parsenoop }, +0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, +0x01D2: { n:"BrtEndIconSet", f:parsenoop }, +0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, +0x01D4: { n:"BrtEndDatabar", f:parsenoop }, +0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, +0x01D6: { n:"BrtEndColorScale", f:parsenoop }, +0x01D7: { n:"BrtCFVO", f:parsenoop }, +0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, +0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, +0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, +0x01DB: { n:"BrtIndexedColor", f:parsenoop }, +0x01DC: { n:"BrtMargins", f:parsenoop }, +0x01DD: { n:"BrtPrintOptions", f:parsenoop }, +0x01DE: { n:"BrtPageSetup", f:parsenoop }, +0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, +0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, +0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, +0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, +0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, +0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, +0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, +0x01E6: { n:"BrtBeginMgs", f:parsenoop }, +0x01E7: { n:"BrtEndMGs", f:parsenoop }, +0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, +0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, +0x01EA: { n:"BrtBeginMG", f:parsenoop }, +0x01EB: { n:"BrtEndMG", f:parsenoop }, +0x01EC: { n:"BrtBeginMap", f:parsenoop }, +0x01ED: { n:"BrtEndMap", f:parsenoop }, +0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, +0x01EF: { n:"BrtBeginDCon", f:parsenoop }, +0x01F0: { n:"BrtEndDCon", f:parsenoop }, +0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, +0x01F2: { n:"BrtEndDRefs", f:parsenoop }, +0x01F3: { n:"BrtDRef", f:parsenoop }, +0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, +0x01F5: { n:"BrtEndScenMan", f:parsenoop }, +0x01F6: { n:"BrtBeginSct", f:parsenoop }, +0x01F7: { n:"BrtEndSct", f:parsenoop }, +0x01F8: { n:"BrtSlc", f:parsenoop }, +0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, +0x01FA: { n:"BrtEndDXFs", f:parsenoop }, +0x01FB: { n:"BrtDXF", f:parsenoop }, +0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, +0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, +0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, +0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, +0x0200: { n:"BrtTableStyleElement", f:parsenoop }, +0x0201: { n:"BrtTableStyleClient", f:parsenoop }, +0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, +0x0203: { n:"BrtEndVolDeps", f:parsenoop }, +0x0204: { n:"BrtBeginVolType", f:parsenoop }, +0x0205: { n:"BrtEndVolType", f:parsenoop }, +0x0206: { n:"BrtBeginVolMain", f:parsenoop }, +0x0207: { n:"BrtEndVolMain", f:parsenoop }, +0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, +0x0209: { n:"BrtEndVolTopic", f:parsenoop }, +0x020A: { n:"BrtVolSubtopic", f:parsenoop }, +0x020B: { n:"BrtVolRef", f:parsenoop }, +0x020C: { n:"BrtVolNum", f:parsenoop }, +0x020D: { n:"BrtVolErr", f:parsenoop }, +0x020E: { n:"BrtVolStr", f:parsenoop }, +0x020F: { n:"BrtVolBool", f:parsenoop }, +0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, +0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, +0x0212: { n:"BrtBeginSortState", f:parsenoop }, +0x0213: { n:"BrtEndSortState", f:parsenoop }, +0x0214: { n:"BrtBeginSortCond", f:parsenoop }, +0x0215: { n:"BrtEndSortCond", f:parsenoop }, +0x0216: { n:"BrtBookProtection", f:parsenoop }, +0x0217: { n:"BrtSheetProtection", f:parsenoop }, +0x0218: { n:"BrtRangeProtection", f:parsenoop }, +0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, +0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, +0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, +0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, +0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, +0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, +0x0224: { n:"BrtFileSharing", f:parsenoop }, +0x0225: { n:"BrtOleSize", f:parsenoop }, +0x0226: { n:"BrtDrawing", f:parsenoop }, +0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, +0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, +0x0229: { n:"BrtWebOpt", f:parsenoop }, +0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, +0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, +0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, +0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, +0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, +0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, +0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, +0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, +0x0232: { n:"BrtBkHim", f:parsenoop }, +0x0234: { n:"BrtColor", f:parsenoop }, +0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, +0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, +0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, +0x023A: { n:"BrtEndMRUColors", f:parsenoop }, +0x023C: { n:"BrtMRUColor", f:parsenoop }, +0x023D: { n:"BrtBeginDVals", f:parsenoop }, +0x023E: { n:"BrtEndDVals", f:parsenoop }, +0x0241: { n:"BrtSupNameStart", f:parsenoop }, +0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, +0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, +0x0244: { n:"BrtSupNameNum", f:parsenoop }, +0x0245: { n:"BrtSupNameErr", f:parsenoop }, +0x0246: { n:"BrtSupNameSt", f:parsenoop }, +0x0247: { n:"BrtSupNameNil", f:parsenoop }, +0x0248: { n:"BrtSupNameBool", f:parsenoop }, +0x0249: { n:"BrtSupNameFmla", f:parsenoop }, +0x024A: { n:"BrtSupNameBits", f:parsenoop }, +0x024B: { n:"BrtSupNameEnd", f:parsenoop }, +0x024C: { n:"BrtEndSupBook", f:parsenoop }, +0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, +0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, +0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, +0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, +0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, +0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, +0x0253: { n:"BrtEndSmartTags", f:parsenoop }, +0x0254: { n:"BrtSmartTagType", f:parsenoop }, +0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, +0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, +0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, +0x0258: { n:"BrtEndSXFilters", f:parsenoop }, +0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, +0x025A: { n:"BrtEndSXFilter", f:parsenoop }, +0x025B: { n:"BrtBeginFills", f:parsenoop }, +0x025C: { n:"BrtEndFills", f:parsenoop }, +0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, +0x025E: { n:"BrtEndCellWatches", f:parsenoop }, +0x025F: { n:"BrtCellWatch", f:parsenoop }, +0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, +0x0261: { n:"BrtEndCRErrs", f:parsenoop }, +0x0262: { n:"BrtCrashRecErr", f:parsenoop }, +0x0263: { n:"BrtBeginFonts", f:parsenoop }, +0x0264: { n:"BrtEndFonts", f:parsenoop }, +0x0265: { n:"BrtBeginBorders", f:parsenoop }, +0x0266: { n:"BrtEndBorders", f:parsenoop }, +0x0267: { n:"BrtBeginFmts", f:parsenoop }, +0x0268: { n:"BrtEndFmts", f:parsenoop }, +0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, +0x026A: { n:"BrtEndCellXFs", f:parsenoop }, +0x026B: { n:"BrtBeginStyles", f:parsenoop }, +0x026C: { n:"BrtEndStyles", f:parsenoop }, +0x0271: { n:"BrtBigName", f:parsenoop }, +0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, +0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, +0x0274: { n:"BrtBeginComments", f:parsenoop }, +0x0275: { n:"BrtEndComments", f:parsenoop }, +0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, +0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, +0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, +0x0279: { n:"BrtBeginCommentList", f:parsenoop }, +0x027A: { n:"BrtEndCommentList", f:parsenoop }, +0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, +0x027C: { n:"BrtEndComment", f:parsenoop }, +0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, +0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, +0x027F: { n:"BrtOleObject", f:parsenoop }, +0x0280: { n:"BrtEndOleObjects", f:parsenoop }, +0x0281: { n:"BrtBeginSxrules", f:parsenoop }, +0x0282: { n:"BrtEndSxRules", f:parsenoop }, +0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, +0x0284: { n:"BrtActiveX", f:parsenoop }, +0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, +0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, +0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, +0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, +0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, +0x028B: { n:"BrtCsProp", f:parsenoop }, +0x028C: { n:"BrtCsPageSetup", f:parsenoop }, +0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, +0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, +0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, +0x0290: { n:"BrtEndUserCsView", f:parsenoop }, +0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, +0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, +0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, +0x0294: { n:"BrtBeginListParts", f:parsenoop }, +0x0295: { n:"BrtListPart", f:parsenoop }, +0x0296: { n:"BrtEndListParts", f:parsenoop }, +0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, +0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, +0x0299: { n:"BrtFnGroup", f:parsenoop }, +0x029A: { n:"BrtEndFnGroup", f:parsenoop }, +0x029B: { n:"BrtSupAddin", f:parsenoop }, +0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, +0x029D: { n:"BrtCsProtection", f:parsenoop }, +0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, +0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, +0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, +0x02A2: { n:"BrtEndRRSort", f:parsenoop }, +0x02A3: { n:"BrtRRSortItem", f:parsenoop }, +0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, +0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, +0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, +0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, +0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, +0x0400: { n:"BrtRwDescent", f:parsenoop }, +0x0401: { n:"BrtKnownFonts", f:parsenoop }, +0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, +0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, +0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, +0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, +0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, +0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, +0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, +0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, +0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, +0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, +0x040C: { n:"BrtNameExt", f:parsenoop }, +0x040D: { n:"BrtPCDH14", f:parsenoop }, +0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, +0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, +0x0410: { n:"BrtSXTH14", f:parsenoop }, +0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, +0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, +0x0413: { n:"BrtSparkline", f:parsenoop }, +0x0414: { n:"BrtSXDI14", f:parsenoop }, +0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, +0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, +0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, +0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, +0x0419: { n:"BrtEndCFRule14", f:parsenoop }, +0x041A: { n:"BrtCFVO14", f:parsenoop }, +0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, +0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, +0x041D: { n:"BrtDVal14", f:parsenoop }, +0x041E: { n:"BrtBeginDVals14", f:parsenoop }, +0x041F: { n:"BrtColor14", f:parsenoop }, +0x0420: { n:"BrtBeginSparklines", f:parsenoop }, +0x0421: { n:"BrtEndSparklines", f:parsenoop }, +0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, +0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, +0x0425: { n:"BrtSXVD14", f:parsenoop }, +0x0426: { n:"BrtBeginSxview14", f:parsenoop }, +0x0427: { n:"BrtEndSxview14", f:parsenoop }, +0x042A: { n:"BrtBeginPCD14", f:parsenoop }, +0x042B: { n:"BrtEndPCD14", f:parsenoop }, +0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, +0x042D: { n:"BrtEndExtConn14", f:parsenoop }, +0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, +0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, +0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, +0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, +0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, +0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, +0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, +0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, +0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, +0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, +0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, +0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, +0x043B: { n:"BrtBeginSlicer", f:parsenoop }, +0x043C: { n:"BrtEndSlicer", f:parsenoop }, +0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, +0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, +0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, +0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, +0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, +0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, +0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, +0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, +0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, +0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, +0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, +0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, +0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, +0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, +0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, +0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, +0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, +0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, +0x044F: { n:"BrtRangeProtection14", f:parsenoop }, +0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, +0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, +0x0457: { n:"BrtList14", f:parsenoop }, +0x0458: { n:"BrtCFIcon", f:parsenoop }, +0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, +0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, +0x045B: { n:"BrtBeginSlicers", f:parsenoop }, +0x045C: { n:"BrtEndSlicers", f:parsenoop }, +0x045D: { n:"BrtWbProp14", f:parsenoop }, +0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, +0x045F: { n:"BrtEndSXEdit", f:parsenoop }, +0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, +0x0461: { n:"BrtEndSXEdits", f:parsenoop }, +0x0462: { n:"BrtBeginSXChange", f:parsenoop }, +0x0463: { n:"BrtEndSXChange", f:parsenoop }, +0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, +0x0465: { n:"BrtEndSXChanges", f:parsenoop }, +0x0466: { n:"BrtSXTupleItems", f:parsenoop }, +0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, +0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, +0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, +0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, +0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, +0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, +0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, +0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, +0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, +0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, +0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, +0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, +0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, +0x0475: { n:"BrtPCDField14", f:parsenoop }, +0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, +0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, +0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, +0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, +0x047A: { n:"BrtCFRuleExt", f:parsenoop }, +0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, +0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, +0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, +0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, +0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, +0x0481: { n:"BrtEndSortCond14", f:parsenoop }, +0x0482: { n:"BrtEndDVals14", f:parsenoop }, +0x0483: { n:"BrtEndIconSet14", f:parsenoop }, +0x0484: { n:"BrtEndDatabar14", f:parsenoop }, +0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, +0x0486: { n:"BrtEndColorScale14", f:parsenoop }, +0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, +0x0488: { n:"BrtEndSxrules14", f:parsenoop }, +0x0489: { n:"BrtBeginPRule14", f:parsenoop }, +0x048A: { n:"BrtEndPRule14", f:parsenoop }, +0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, +0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, +0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, +0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, +0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, +0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, +0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, +0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, +0x0493: { n:"BrtDxf14", f:parsenoop }, +0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, +0x0495: { n:"BrtEndDxf14s", f:parsenoop }, +0x0499: { n:"BrtFilter14", f:parsenoop }, +0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, +0x049C: { n:"BrtCustomFilter14", f:parsenoop }, +0x049D: { n:"BrtIconFilter14", f:parsenoop }, +0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, +0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, +0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, +0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, +0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, +0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, +0x0805: { n:"BrtPivotTableRef", f:parsenoop }, +0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, +0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, +0x0808: { n:"BrtEndSxvcells", f:parsenoop }, +0x0809: { n:"BrtBeginSxRow", f:parsenoop }, +0x080A: { n:"BrtEndSxRow", f:parsenoop }, +0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, +0x0813: { n:"BrtQsi15", f:parsenoop }, +0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, +0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, +0x0816: { n:"BrtWebExtension", f:parsenoop }, +0x0817: { n:"BrtAbsPath15", f:parsenoop }, +0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, +0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, +0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, +0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, +0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, +0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, +0x081F: { n:"BrtSxFilter15", f:parsenoop }, +0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, +0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, +0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, +0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, +0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, +0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, +0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, +0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, +0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, +0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, +0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, +0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, +0x082C: { n:"BrtPCDH15", f:parsenoop }, +0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, +0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, +0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, +0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, +0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, +0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, +0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, +0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, +0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, +0x0836: { n:"BrtDxf15", f:parsenoop }, +0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, +0x0838: { n:"brtEndDxfs15", f:parsenoop }, +0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, +0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, +0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, +0x083C: { n:"BrtItemUniqueName", f:parsenoop }, +0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, +0x083E: { n:"BrtEndExtConn15", f:parsenoop }, +0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, +0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, +0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, +0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, +0x0843: { n:"BrtTextPr15", f:parsenoop }, +0x0844: { n:"BrtRangePr15", f:parsenoop }, +0x0845: { n:"BrtDbCommand15", f:parsenoop }, +0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, +0x0847: { n:"BrtEndDbTables15", f:parsenoop }, +0x0848: { n:"BrtDbTable15", f:parsenoop }, +0x0849: { n:"BrtBeginDataModel", f:parsenoop }, +0x084A: { n:"BrtEndDataModel", f:parsenoop }, +0x084B: { n:"BrtBeginModelTables", f:parsenoop }, +0x084C: { n:"BrtEndModelTables", f:parsenoop }, +0x084D: { n:"BrtModelTable", f:parsenoop }, +0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, +0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, +0x0850: { n:"BrtModelRelationship", f:parsenoop }, +0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, +0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, +0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, +0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, +0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, +0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, +0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, +0x0858: { n:"BrtSXDI15", f:parsenoop }, +0xFFFF: { n:"", f:parsenoop } }; var evert_RE = evert_key(XLSBRecordEnum, 'n'); /* [MS-XLS] 2.3 Record Enumeration */ var XLSRecordEnum = { - 0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, - 0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, - 0x0006: { n:"Formula", f:parse_Formula }, - 0x0009: { n:'BOF', f:parse_BOF }, - 0x000a: { n:'EOF', f:parse_EOF }, - 0x000c: { n:"CalcCount", f:parse_CalcCount }, - 0x000d: { n:"CalcMode", f:parse_CalcMode }, - 0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, - 0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, - 0x0010: { n:"CalcDelta", f:parse_CalcDelta }, - 0x0011: { n:"CalcIter", f:parse_CalcIter }, - 0x0012: { n:"Protect", f:parse_Protect }, - 0x0013: { n:"Password", f:parse_Password }, - 0x0014: { n:"Header", f:parse_Header }, - 0x0015: { n:"Footer", f:parse_Footer }, - 0x0017: { n:"ExternSheet", f:parse_ExternSheet }, - 0x0018: { n:"Lbl", f:parse_Lbl }, - 0x0019: { n:"WinProtect", f:parse_WinProtect }, - 0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, - 0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, - 0x001c: { n:"Note", f:parse_Note }, - 0x001d: { n:"Selection", f:parse_Selection }, - 0x0022: { n:"Date1904", f:parse_Date1904 }, - 0x0023: { n:"ExternName", f:parse_ExternName }, - 0x0026: { n:"LeftMargin", f:parse_LeftMargin }, - 0x0027: { n:"RightMargin", f:parse_RightMargin }, - 0x0028: { n:"TopMargin", f:parse_TopMargin }, - 0x0029: { n:"BottomMargin", f:parse_BottomMargin }, - 0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, - 0x002b: { n:"PrintGrid", f:parse_PrintGrid }, - 0x002f: { n:"FilePass", f:parse_FilePass }, - 0x0031: { n:"Font", f:parse_Font }, - 0x0033: { n:"PrintSize", f:parse_PrintSize }, - 0x003c: { n:"Continue", f:parse_Continue }, - 0x003d: { n:"Window1", f:parse_Window1 }, - 0x0040: { n:"Backup", f:parse_Backup }, - 0x0041: { n:"Pane", f:parse_Pane }, - 0x0042: { n:'CodePage', f:parse_CodePage }, - 0x004d: { n:"Pls", f:parse_Pls }, - 0x0050: { n:"DCon", f:parse_DCon }, - 0x0051: { n:"DConRef", f:parse_DConRef }, - 0x0052: { n:"DConName", f:parse_DConName }, - 0x0055: { n:"DefColWidth", f:parse_DefColWidth }, - 0x0059: { n:"XCT", f:parse_XCT }, - 0x005a: { n:"CRN", f:parse_CRN }, - 0x005b: { n:"FileSharing", f:parse_FileSharing }, - 0x005c: { n:'WriteAccess', f:parse_WriteAccess }, - 0x005d: { n:"Obj", f:parse_Obj }, - 0x005e: { n:"Uncalced", f:parse_Uncalced }, - 0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, - 0x0060: { n:"Template", f:parse_Template }, - 0x0061: { n:"Intl", f:parse_Intl }, - 0x0063: { n:"ObjProtect", f:parse_ObjProtect }, - 0x007d: { n:"ColInfo", f:parse_ColInfo }, - 0x0080: { n:"Guts", f:parse_Guts }, - 0x0081: { n:"WsBool", f:parse_WsBool }, - 0x0082: { n:"GridSet", f:parse_GridSet }, - 0x0083: { n:"HCenter", f:parse_HCenter }, - 0x0084: { n:"VCenter", f:parse_VCenter }, - 0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, - 0x0086: { n:"WriteProtect", f:parse_WriteProtect }, - 0x008c: { n:"Country", f:parse_Country }, - 0x008d: { n:"HideObj", f:parse_HideObj }, - 0x0090: { n:"Sort", f:parse_Sort }, - 0x0092: { n:"Palette", f:parse_Palette }, - 0x0097: { n:"Sync", f:parse_Sync }, - 0x0098: { n:"LPr", f:parse_LPr }, - 0x0099: { n:"DxGCol", f:parse_DxGCol }, - 0x009a: { n:"FnGroupName", f:parse_FnGroupName }, - 0x009b: { n:"FilterMode", f:parse_FilterMode }, - 0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, - 0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, - 0x009e: { n:"AutoFilter", f:parse_AutoFilter }, - 0x00a0: { n:"Scl", f:parse_Scl }, - 0x00a1: { n:"Setup", f:parse_Setup }, - 0x00ae: { n:"ScenMan", f:parse_ScenMan }, - 0x00af: { n:"SCENARIO", f:parse_SCENARIO }, - 0x00b0: { n:"SxView", f:parse_SxView }, - 0x00b1: { n:"Sxvd", f:parse_Sxvd }, - 0x00b2: { n:"SXVI", f:parse_SXVI }, - 0x00b4: { n:"SxIvd", f:parse_SxIvd }, - 0x00b5: { n:"SXLI", f:parse_SXLI }, - 0x00b6: { n:"SXPI", f:parse_SXPI }, - 0x00b8: { n:"DocRoute", f:parse_DocRoute }, - 0x00b9: { n:"RecipName", f:parse_RecipName }, - 0x00bd: { n:"MulRk", f:parse_MulRk }, - 0x00be: { n:"MulBlank", f:parse_MulBlank }, - 0x00c1: { n:'Mms', f:parse_Mms }, - 0x00c5: { n:"SXDI", f:parse_SXDI }, - 0x00c6: { n:"SXDB", f:parse_SXDB }, - 0x00c7: { n:"SXFDB", f:parse_SXFDB }, - 0x00c8: { n:"SXDBB", f:parse_SXDBB }, - 0x00c9: { n:"SXNum", f:parse_SXNum }, - 0x00ca: { n:"SxBool", f:parse_SxBool }, - 0x00cb: { n:"SxErr", f:parse_SxErr }, - 0x00cc: { n:"SXInt", f:parse_SXInt }, - 0x00cd: { n:"SXString", f:parse_SXString }, - 0x00ce: { n:"SXDtr", f:parse_SXDtr }, - 0x00cf: { n:"SxNil", f:parse_SxNil }, - 0x00d0: { n:"SXTbl", f:parse_SXTbl }, - 0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, - 0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, - 0x00d3: { n:"ObProj", f:parse_ObProj }, - 0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, - 0x00d7: { n:"DBCell", f:parse_DBCell }, - 0x00d8: { n:"SXRng", f:parse_SXRng }, - 0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, - 0x00da: { n:"BookBool", f:parse_BookBool }, - 0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, - 0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, - 0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, - 0x00e0: { n:"XF", f:parse_XF }, - 0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, - 0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, - 0x00e3: { n:"SXVS", f:parse_SXVS }, - 0x00e5: { n:"MergeCells", f:parse_MergeCells }, - 0x00e9: { n:"BkHim", f:parse_BkHim }, - 0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, - 0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, - 0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, - 0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, - 0x00f0: { n:"SxRule", f:parse_SxRule }, - 0x00f1: { n:"SXEx", f:parse_SXEx }, - 0x00f2: { n:"SxFilt", f:parse_SxFilt }, - 0x00f4: { n:"SxDXF", f:parse_SxDXF }, - 0x00f5: { n:"SxItm", f:parse_SxItm }, - 0x00f6: { n:"SxName", f:parse_SxName }, - 0x00f7: { n:"SxSelect", f:parse_SxSelect }, - 0x00f8: { n:"SXPair", f:parse_SXPair }, - 0x00f9: { n:"SxFmla", f:parse_SxFmla }, - 0x00fb: { n:"SxFormat", f:parse_SxFormat }, - 0x00fc: { n:"SST", f:parse_SST }, - 0x00fd: { n:"LabelSst", f:parse_LabelSst }, - 0x00ff: { n:"ExtSST", f:parse_ExtSST }, - 0x0100: { n:"SXVDEx", f:parse_SXVDEx }, - 0x0103: { n:"SXFormula", f:parse_SXFormula }, - 0x0122: { n:"SXDBEx", f:parse_SXDBEx }, - 0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, - 0x0138: { n:"RRDHead", f:parse_RRDHead }, - 0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, - 0x013d: { n:"RRTabId", f:parse_RRTabId }, - 0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, - 0x013f: { n:"RRSort", f:parse_RRSort }, - 0x0140: { n:"RRDMove", f:parse_RRDMove }, - 0x014a: { n:"RRFormat", f:parse_RRFormat }, - 0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, - 0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, - 0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, - 0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, - 0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, - 0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, - 0x0152: { n:"RRDConflict", f:parse_RRDConflict }, - 0x0153: { n:"RRDDefName", f:parse_RRDDefName }, - 0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, - 0x015f: { n:"LRng", f:parse_LRng }, - 0x0160: { n:"UsesELFs", f:parse_UsesELFs }, - 0x0161: { n:"DSF", f:parse_DSF }, - 0x0191: { n:"CUsr", f:parse_CUsr }, - 0x0192: { n:"CbUsr", f:parse_CbUsr }, - 0x0193: { n:"UsrInfo", f:parse_UsrInfo }, - 0x0194: { n:"UsrExcl", f:parse_UsrExcl }, - 0x0195: { n:"FileLock", f:parse_FileLock }, - 0x0196: { n:"RRDInfo", f:parse_RRDInfo }, - 0x0197: { n:"BCUsrs", f:parse_BCUsrs }, - 0x0198: { n:"UsrChk", f:parse_UsrChk }, - 0x01a9: { n:"UserBView", f:parse_UserBView }, - 0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, - 0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, - 0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, - 0x01ad: { n:"Qsi", f:parse_Qsi }, - 0x01ae: { n:"SupBook", f:parse_SupBook }, - 0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, - 0x01b0: { n:"CondFmt", f:parse_CondFmt }, - 0x01b1: { n:"CF", f:parse_CF }, - 0x01b2: { n:"DVal", f:parse_DVal }, - 0x01b5: { n:"DConBin", f:parse_DConBin }, - 0x01b6: { n:"TxO", f:parse_TxO }, - 0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, - 0x01b8: { n:"HLink", f:parse_HLink }, - 0x01b9: { n:"Lel", f:parse_Lel }, - 0x01ba: { n:"CodeName", f:parse_XLSCodeName }, - 0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, - 0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, - 0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, - 0x01be: { n:"Dv", f:parse_Dv }, - 0x01c0: { n:"Excel9File", f:parse_Excel9File }, - 0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, - 0x01c2: { n:"EntExU2", f:parse_EntExU2 }, - 0x0200: { n:"Dimensions", f:parse_Dimensions }, - 0x0201: { n:"Blank", f:parse_Blank }, - 0x0203: { n:"Number", f:parse_Number }, - 0x0204: { n:"Label", f:parse_Label }, - 0x0205: { n:"BoolErr", f:parse_BoolErr }, - 0x0207: { n:"String", f:parse_String }, - 0x0208: { n:'Row', f:parse_Row }, - 0x020b: { n:"Index", f:parse_Index }, - 0x0221: { n:"Array", f:parse_Array }, - 0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, - 0x0236: { n:"Table", f:parse_Table }, - 0x023e: { n:"Window2", f:parse_Window2 }, - 0x027e: { n:"RK", f:parse_RK }, - 0x0293: { n:"Style", f:parse_Style }, - 0x0418: { n:"BigName", f:parse_BigName }, - 0x041e: { n:"Format", f:parse_Format }, - 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, - 0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, - 0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, - 0x0801: { n:"WebPub", f:parse_WebPub }, - 0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, - 0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, - 0x0804: { n:"ExtString", f:parse_ExtString }, - 0x0805: { n:"TxtQry", f:parse_TxtQry }, - 0x0806: { n:"Qsir", f:parse_Qsir }, - 0x0807: { n:"Qsif", f:parse_Qsif }, - 0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, - 0x0809: { n:'BOF', f:parse_BOF }, - 0x080a: { n:"OleDbConn", f:parse_OleDbConn }, - 0x080b: { n:"WOpt", f:parse_WOpt }, - 0x080c: { n:"SXViewEx", f:parse_SXViewEx }, - 0x080d: { n:"SXTH", f:parse_SXTH }, - 0x080e: { n:"SXPIEx", f:parse_SXPIEx }, - 0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, - 0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, - 0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, - 0x0813: { n:"RealTimeData", f:parse_RealTimeData }, - 0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, - 0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, - 0x0852: { n:"StartBlock", f:parse_StartBlock }, - 0x0853: { n:"EndBlock", f:parse_EndBlock }, - 0x0854: { n:"StartObject", f:parse_StartObject }, - 0x0855: { n:"EndObject", f:parse_EndObject }, - 0x0856: { n:"CatLab", f:parse_CatLab }, - 0x0857: { n:"YMult", f:parse_YMult }, - 0x0858: { n:"SXViewLink", f:parse_SXViewLink }, - 0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, - 0x085a: { n:"FrtFontList", f:parse_FrtFontList }, - 0x0862: { n:"SheetExt", f:parse_SheetExt }, - 0x0863: { n:"BookExt", f:parse_BookExt, r:12}, - 0x0864: { n:"SXAddl", f:parse_SXAddl }, - 0x0865: { n:"CrErr", f:parse_CrErr }, - 0x0866: { n:"HFPicture", f:parse_HFPicture }, - 0x0867: { n:'FeatHdr', f:parse_FeatHdr }, - 0x0868: { n:"Feat", f:parse_Feat }, - 0x086a: { n:"DataLabExt", f:parse_DataLabExt }, - 0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, - 0x086c: { n:"CellWatch", f:parse_CellWatch }, - 0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, - 0x0872: { n:"Feature11", f:parse_Feature11 }, - 0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, - 0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, - 0x0876: { n:"DConn", f:parse_DConn }, - 0x0877: { n:"List12", f:parse_List12 }, - 0x0878: { n:"Feature12", f:parse_Feature12 }, - 0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, - 0x087a: { n:"CF12", f:parse_CF12 }, - 0x087b: { n:"CFEx", f:parse_CFEx }, - 0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, - 0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, - 0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, - 0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, - 0x0884: { n:"MDTInfo", f:parse_MDTInfo }, - 0x0885: { n:"MDXStr", f:parse_MDXStr }, - 0x0886: { n:"MDXTuple", f:parse_MDXTuple }, - 0x0887: { n:"MDXSet", f:parse_MDXSet }, - 0x0888: { n:"MDXProp", f:parse_MDXProp }, - 0x0889: { n:"MDXKPI", f:parse_MDXKPI }, - 0x088a: { n:"MDB", f:parse_MDB }, - 0x088b: { n:"PLV", f:parse_PLV }, - 0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, - 0x088d: { n:"DXF", f:parse_DXF }, - 0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, - 0x088f: { n:"TableStyle", f:parse_TableStyle }, - 0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, - 0x0892: { n:"StyleExt", f:parse_StyleExt }, - 0x0893: { n:"NamePublish", f:parse_NamePublish }, - 0x0894: { n:"NameCmt", f:parse_NameCmt }, - 0x0895: { n:"SortData", f:parse_SortData }, - 0x0896: { n:"Theme", f:parse_Theme, r:12 }, - 0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, - 0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, - 0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, - 0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, - 0x089b: { n:"CompressPictures", f:parse_CompressPictures }, - 0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, - 0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, - 0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, - 0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, - 0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, - 0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, - 0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, - 0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, - 0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, - 0x1001: { n:"Units", f:parse_Units }, - 0x1002: { n:"Chart", f:parse_Chart }, - 0x1003: { n:"Series", f:parse_Series }, - 0x1006: { n:"DataFormat", f:parse_DataFormat }, - 0x1007: { n:"LineFormat", f:parse_LineFormat }, - 0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, - 0x100a: { n:"AreaFormat", f:parse_AreaFormat }, - 0x100b: { n:"PieFormat", f:parse_PieFormat }, - 0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, - 0x100d: { n:"SeriesText", f:parse_SeriesText }, - 0x1014: { n:"ChartFormat", f:parse_ChartFormat }, - 0x1015: { n:"Legend", f:parse_Legend }, - 0x1016: { n:"SeriesList", f:parse_SeriesList }, - 0x1017: { n:"Bar", f:parse_Bar }, - 0x1018: { n:"Line", f:parse_Line }, - 0x1019: { n:"Pie", f:parse_Pie }, - 0x101a: { n:"Area", f:parse_Area }, - 0x101b: { n:"Scatter", f:parse_Scatter }, - 0x101c: { n:"CrtLine", f:parse_CrtLine }, - 0x101d: { n:"Axis", f:parse_Axis }, - 0x101e: { n:"Tick", f:parse_Tick }, - 0x101f: { n:"ValueRange", f:parse_ValueRange }, - 0x1020: { n:"CatSerRange", f:parse_CatSerRange }, - 0x1021: { n:"AxisLine", f:parse_AxisLine }, - 0x1022: { n:"CrtLink", f:parse_CrtLink }, - 0x1024: { n:"DefaultText", f:parse_DefaultText }, - 0x1025: { n:"Text", f:parse_Text }, - 0x1026: { n:"FontX", f:parse_FontX }, - 0x1027: { n:"ObjectLink", f:parse_ObjectLink }, - 0x1032: { n:"Frame", f:parse_Frame }, - 0x1033: { n:"Begin", f:parse_Begin }, - 0x1034: { n:"End", f:parse_End }, - 0x1035: { n:"PlotArea", f:parse_PlotArea }, - 0x103a: { n:"Chart3d", f:parse_Chart3d }, - 0x103c: { n:"PicF", f:parse_PicF }, - 0x103d: { n:"DropBar", f:parse_DropBar }, - 0x103e: { n:"Radar", f:parse_Radar }, - 0x103f: { n:"Surf", f:parse_Surf }, - 0x1040: { n:"RadarArea", f:parse_RadarArea }, - 0x1041: { n:"AxisParent", f:parse_AxisParent }, - 0x1043: { n:"LegendException", f:parse_LegendException }, - 0x1044: { n:"ShtProps", f:parse_ShtProps }, - 0x1045: { n:"SerToCrt", f:parse_SerToCrt }, - 0x1046: { n:"AxesUsed", f:parse_AxesUsed }, - 0x1048: { n:"SBaseRef", f:parse_SBaseRef }, - 0x104a: { n:"SerParent", f:parse_SerParent }, - 0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, - 0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, - 0x104f: { n:"Pos", f:parse_Pos }, - 0x1050: { n:"AlRuns", f:parse_AlRuns }, - 0x1051: { n:"BRAI", f:parse_BRAI }, - 0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, - 0x105c: { n:"ClrtClient", f:parse_ClrtClient }, - 0x105d: { n:"SerFmt", f:parse_SerFmt }, - 0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, - 0x1060: { n:"Fbi", f:parse_Fbi }, - 0x1061: { n:"BopPop", f:parse_BopPop }, - 0x1062: { n:"AxcExt", f:parse_AxcExt }, - 0x1063: { n:"Dat", f:parse_Dat }, - 0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, - 0x1065: { n:"SIIndex", f:parse_SIIndex }, - 0x1066: { n:"GelFrame", f:parse_GelFrame }, - 0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, - 0x1068: { n:"Fbi2", f:parse_Fbi2 }, +0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, +0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, +0x0006: { n:"Formula", f:parse_Formula }, +0x0009: { n:'BOF', f:parse_BOF }, +0x000a: { n:'EOF', f:parse_EOF }, +0x000c: { n:"CalcCount", f:parse_CalcCount }, +0x000d: { n:"CalcMode", f:parse_CalcMode }, +0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, +0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, +0x0010: { n:"CalcDelta", f:parse_CalcDelta }, +0x0011: { n:"CalcIter", f:parse_CalcIter }, +0x0012: { n:"Protect", f:parse_Protect }, +0x0013: { n:"Password", f:parse_Password }, +0x0014: { n:"Header", f:parse_Header }, +0x0015: { n:"Footer", f:parse_Footer }, +0x0017: { n:"ExternSheet", f:parse_ExternSheet }, +0x0018: { n:"Lbl", f:parse_Lbl }, +0x0019: { n:"WinProtect", f:parse_WinProtect }, +0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, +0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, +0x001c: { n:"Note", f:parse_Note }, +0x001d: { n:"Selection", f:parse_Selection }, +0x0022: { n:"Date1904", f:parse_Date1904 }, +0x0023: { n:"ExternName", f:parse_ExternName }, +0x0026: { n:"LeftMargin", f:parse_LeftMargin }, +0x0027: { n:"RightMargin", f:parse_RightMargin }, +0x0028: { n:"TopMargin", f:parse_TopMargin }, +0x0029: { n:"BottomMargin", f:parse_BottomMargin }, +0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, +0x002b: { n:"PrintGrid", f:parse_PrintGrid }, +0x002f: { n:"FilePass", f:parse_FilePass }, +0x0031: { n:"Font", f:parse_Font }, +0x0033: { n:"PrintSize", f:parse_PrintSize }, +0x003c: { n:"Continue", f:parse_Continue }, +0x003d: { n:"Window1", f:parse_Window1 }, +0x0040: { n:"Backup", f:parse_Backup }, +0x0041: { n:"Pane", f:parse_Pane }, +0x0042: { n:'CodePage', f:parse_CodePage }, +0x004d: { n:"Pls", f:parse_Pls }, +0x0050: { n:"DCon", f:parse_DCon }, +0x0051: { n:"DConRef", f:parse_DConRef }, +0x0052: { n:"DConName", f:parse_DConName }, +0x0055: { n:"DefColWidth", f:parse_DefColWidth }, +0x0059: { n:"XCT", f:parse_XCT }, +0x005a: { n:"CRN", f:parse_CRN }, +0x005b: { n:"FileSharing", f:parse_FileSharing }, +0x005c: { n:'WriteAccess', f:parse_WriteAccess }, +0x005d: { n:"Obj", f:parse_Obj }, +0x005e: { n:"Uncalced", f:parse_Uncalced }, +0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, +0x0060: { n:"Template", f:parse_Template }, +0x0061: { n:"Intl", f:parse_Intl }, +0x0063: { n:"ObjProtect", f:parse_ObjProtect }, +0x007d: { n:"ColInfo", f:parse_ColInfo }, +0x0080: { n:"Guts", f:parse_Guts }, +0x0081: { n:"WsBool", f:parse_WsBool }, +0x0082: { n:"GridSet", f:parse_GridSet }, +0x0083: { n:"HCenter", f:parse_HCenter }, +0x0084: { n:"VCenter", f:parse_VCenter }, +0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, +0x0086: { n:"WriteProtect", f:parse_WriteProtect }, +0x008c: { n:"Country", f:parse_Country }, +0x008d: { n:"HideObj", f:parse_HideObj }, +0x0090: { n:"Sort", f:parse_Sort }, +0x0092: { n:"Palette", f:parse_Palette }, +0x0097: { n:"Sync", f:parse_Sync }, +0x0098: { n:"LPr", f:parse_LPr }, +0x0099: { n:"DxGCol", f:parse_DxGCol }, +0x009a: { n:"FnGroupName", f:parse_FnGroupName }, +0x009b: { n:"FilterMode", f:parse_FilterMode }, +0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, +0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, +0x009e: { n:"AutoFilter", f:parse_AutoFilter }, +0x00a0: { n:"Scl", f:parse_Scl }, +0x00a1: { n:"Setup", f:parse_Setup }, +0x00ae: { n:"ScenMan", f:parse_ScenMan }, +0x00af: { n:"SCENARIO", f:parse_SCENARIO }, +0x00b0: { n:"SxView", f:parse_SxView }, +0x00b1: { n:"Sxvd", f:parse_Sxvd }, +0x00b2: { n:"SXVI", f:parse_SXVI }, +0x00b4: { n:"SxIvd", f:parse_SxIvd }, +0x00b5: { n:"SXLI", f:parse_SXLI }, +0x00b6: { n:"SXPI", f:parse_SXPI }, +0x00b8: { n:"DocRoute", f:parse_DocRoute }, +0x00b9: { n:"RecipName", f:parse_RecipName }, +0x00bd: { n:"MulRk", f:parse_MulRk }, +0x00be: { n:"MulBlank", f:parse_MulBlank }, +0x00c1: { n:'Mms', f:parse_Mms }, +0x00c5: { n:"SXDI", f:parse_SXDI }, +0x00c6: { n:"SXDB", f:parse_SXDB }, +0x00c7: { n:"SXFDB", f:parse_SXFDB }, +0x00c8: { n:"SXDBB", f:parse_SXDBB }, +0x00c9: { n:"SXNum", f:parse_SXNum }, +0x00ca: { n:"SxBool", f:parse_SxBool }, +0x00cb: { n:"SxErr", f:parse_SxErr }, +0x00cc: { n:"SXInt", f:parse_SXInt }, +0x00cd: { n:"SXString", f:parse_SXString }, +0x00ce: { n:"SXDtr", f:parse_SXDtr }, +0x00cf: { n:"SxNil", f:parse_SxNil }, +0x00d0: { n:"SXTbl", f:parse_SXTbl }, +0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, +0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, +0x00d3: { n:"ObProj", f:parse_ObProj }, +0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, +0x00d7: { n:"DBCell", f:parse_DBCell }, +0x00d8: { n:"SXRng", f:parse_SXRng }, +0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, +0x00da: { n:"BookBool", f:parse_BookBool }, +0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, +0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, +0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, +0x00e0: { n:"XF", f:parse_XF }, +0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, +0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, +0x00e3: { n:"SXVS", f:parse_SXVS }, +0x00e5: { n:"MergeCells", f:parse_MergeCells }, +0x00e9: { n:"BkHim", f:parse_BkHim }, +0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, +0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, +0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, +0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, +0x00f0: { n:"SxRule", f:parse_SxRule }, +0x00f1: { n:"SXEx", f:parse_SXEx }, +0x00f2: { n:"SxFilt", f:parse_SxFilt }, +0x00f4: { n:"SxDXF", f:parse_SxDXF }, +0x00f5: { n:"SxItm", f:parse_SxItm }, +0x00f6: { n:"SxName", f:parse_SxName }, +0x00f7: { n:"SxSelect", f:parse_SxSelect }, +0x00f8: { n:"SXPair", f:parse_SXPair }, +0x00f9: { n:"SxFmla", f:parse_SxFmla }, +0x00fb: { n:"SxFormat", f:parse_SxFormat }, +0x00fc: { n:"SST", f:parse_SST }, +0x00fd: { n:"LabelSst", f:parse_LabelSst }, +0x00ff: { n:"ExtSST", f:parse_ExtSST }, +0x0100: { n:"SXVDEx", f:parse_SXVDEx }, +0x0103: { n:"SXFormula", f:parse_SXFormula }, +0x0122: { n:"SXDBEx", f:parse_SXDBEx }, +0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, +0x0138: { n:"RRDHead", f:parse_RRDHead }, +0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, +0x013d: { n:"RRTabId", f:parse_RRTabId }, +0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, +0x013f: { n:"RRSort", f:parse_RRSort }, +0x0140: { n:"RRDMove", f:parse_RRDMove }, +0x014a: { n:"RRFormat", f:parse_RRFormat }, +0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, +0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, +0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, +0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, +0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, +0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, +0x0152: { n:"RRDConflict", f:parse_RRDConflict }, +0x0153: { n:"RRDDefName", f:parse_RRDDefName }, +0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, +0x015f: { n:"LRng", f:parse_LRng }, +0x0160: { n:"UsesELFs", f:parse_UsesELFs }, +0x0161: { n:"DSF", f:parse_DSF }, +0x0191: { n:"CUsr", f:parse_CUsr }, +0x0192: { n:"CbUsr", f:parse_CbUsr }, +0x0193: { n:"UsrInfo", f:parse_UsrInfo }, +0x0194: { n:"UsrExcl", f:parse_UsrExcl }, +0x0195: { n:"FileLock", f:parse_FileLock }, +0x0196: { n:"RRDInfo", f:parse_RRDInfo }, +0x0197: { n:"BCUsrs", f:parse_BCUsrs }, +0x0198: { n:"UsrChk", f:parse_UsrChk }, +0x01a9: { n:"UserBView", f:parse_UserBView }, +0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, +0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, +0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, +0x01ad: { n:"Qsi", f:parse_Qsi }, +0x01ae: { n:"SupBook", f:parse_SupBook }, +0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, +0x01b0: { n:"CondFmt", f:parse_CondFmt }, +0x01b1: { n:"CF", f:parse_CF }, +0x01b2: { n:"DVal", f:parse_DVal }, +0x01b5: { n:"DConBin", f:parse_DConBin }, +0x01b6: { n:"TxO", f:parse_TxO }, +0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, +0x01b8: { n:"HLink", f:parse_HLink }, +0x01b9: { n:"Lel", f:parse_Lel }, +0x01ba: { n:"CodeName", f:parse_XLSCodeName }, +0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, +0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, +0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, +0x01be: { n:"Dv", f:parse_Dv }, +0x01c0: { n:"Excel9File", f:parse_Excel9File }, +0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, +0x01c2: { n:"EntExU2", f:parse_EntExU2 }, +0x0200: { n:"Dimensions", f:parse_Dimensions }, +0x0201: { n:"Blank", f:parse_Blank }, +0x0203: { n:"Number", f:parse_Number }, +0x0204: { n:"Label", f:parse_Label }, +0x0205: { n:"BoolErr", f:parse_BoolErr }, +0x0207: { n:"String", f:parse_String }, +0x0208: { n:'Row', f:parse_Row }, +0x020b: { n:"Index", f:parse_Index }, +0x0221: { n:"Array", f:parse_Array }, +0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, +0x0236: { n:"Table", f:parse_Table }, +0x023e: { n:"Window2", f:parse_Window2 }, +0x027e: { n:"RK", f:parse_RK }, +0x0293: { n:"Style", f:parse_Style }, +0x0418: { n:"BigName", f:parse_BigName }, +0x041e: { n:"Format", f:parse_Format }, +0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, +0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, +0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, +0x0801: { n:"WebPub", f:parse_WebPub }, +0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, +0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, +0x0804: { n:"ExtString", f:parse_ExtString }, +0x0805: { n:"TxtQry", f:parse_TxtQry }, +0x0806: { n:"Qsir", f:parse_Qsir }, +0x0807: { n:"Qsif", f:parse_Qsif }, +0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, +0x0809: { n:'BOF', f:parse_BOF }, +0x080a: { n:"OleDbConn", f:parse_OleDbConn }, +0x080b: { n:"WOpt", f:parse_WOpt }, +0x080c: { n:"SXViewEx", f:parse_SXViewEx }, +0x080d: { n:"SXTH", f:parse_SXTH }, +0x080e: { n:"SXPIEx", f:parse_SXPIEx }, +0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, +0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, +0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, +0x0813: { n:"RealTimeData", f:parse_RealTimeData }, +0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, +0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, +0x0852: { n:"StartBlock", f:parse_StartBlock }, +0x0853: { n:"EndBlock", f:parse_EndBlock }, +0x0854: { n:"StartObject", f:parse_StartObject }, +0x0855: { n:"EndObject", f:parse_EndObject }, +0x0856: { n:"CatLab", f:parse_CatLab }, +0x0857: { n:"YMult", f:parse_YMult }, +0x0858: { n:"SXViewLink", f:parse_SXViewLink }, +0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, +0x085a: { n:"FrtFontList", f:parse_FrtFontList }, +0x0862: { n:"SheetExt", f:parse_SheetExt }, +0x0863: { n:"BookExt", f:parse_BookExt, r:12}, +0x0864: { n:"SXAddl", f:parse_SXAddl }, +0x0865: { n:"CrErr", f:parse_CrErr }, +0x0866: { n:"HFPicture", f:parse_HFPicture }, +0x0867: { n:'FeatHdr', f:parse_FeatHdr }, +0x0868: { n:"Feat", f:parse_Feat }, +0x086a: { n:"DataLabExt", f:parse_DataLabExt }, +0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, +0x086c: { n:"CellWatch", f:parse_CellWatch }, +0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, +0x0872: { n:"Feature11", f:parse_Feature11 }, +0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, +0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, +0x0876: { n:"DConn", f:parse_DConn }, +0x0877: { n:"List12", f:parse_List12 }, +0x0878: { n:"Feature12", f:parse_Feature12 }, +0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, +0x087a: { n:"CF12", f:parse_CF12 }, +0x087b: { n:"CFEx", f:parse_CFEx }, +0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, +0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, +0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, +0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, +0x0884: { n:"MDTInfo", f:parse_MDTInfo }, +0x0885: { n:"MDXStr", f:parse_MDXStr }, +0x0886: { n:"MDXTuple", f:parse_MDXTuple }, +0x0887: { n:"MDXSet", f:parse_MDXSet }, +0x0888: { n:"MDXProp", f:parse_MDXProp }, +0x0889: { n:"MDXKPI", f:parse_MDXKPI }, +0x088a: { n:"MDB", f:parse_MDB }, +0x088b: { n:"PLV", f:parse_PLV }, +0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, +0x088d: { n:"DXF", f:parse_DXF }, +0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, +0x088f: { n:"TableStyle", f:parse_TableStyle }, +0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, +0x0892: { n:"StyleExt", f:parse_StyleExt }, +0x0893: { n:"NamePublish", f:parse_NamePublish }, +0x0894: { n:"NameCmt", f:parse_NameCmt }, +0x0895: { n:"SortData", f:parse_SortData }, +0x0896: { n:"Theme", f:parse_Theme, r:12 }, +0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, +0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, +0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, +0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, +0x089b: { n:"CompressPictures", f:parse_CompressPictures }, +0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, +0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, +0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, +0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, +0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, +0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, +0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, +0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, +0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, +0x1001: { n:"Units", f:parse_Units }, +0x1002: { n:"Chart", f:parse_Chart }, +0x1003: { n:"Series", f:parse_Series }, +0x1006: { n:"DataFormat", f:parse_DataFormat }, +0x1007: { n:"LineFormat", f:parse_LineFormat }, +0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, +0x100a: { n:"AreaFormat", f:parse_AreaFormat }, +0x100b: { n:"PieFormat", f:parse_PieFormat }, +0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, +0x100d: { n:"SeriesText", f:parse_SeriesText }, +0x1014: { n:"ChartFormat", f:parse_ChartFormat }, +0x1015: { n:"Legend", f:parse_Legend }, +0x1016: { n:"SeriesList", f:parse_SeriesList }, +0x1017: { n:"Bar", f:parse_Bar }, +0x1018: { n:"Line", f:parse_Line }, +0x1019: { n:"Pie", f:parse_Pie }, +0x101a: { n:"Area", f:parse_Area }, +0x101b: { n:"Scatter", f:parse_Scatter }, +0x101c: { n:"CrtLine", f:parse_CrtLine }, +0x101d: { n:"Axis", f:parse_Axis }, +0x101e: { n:"Tick", f:parse_Tick }, +0x101f: { n:"ValueRange", f:parse_ValueRange }, +0x1020: { n:"CatSerRange", f:parse_CatSerRange }, +0x1021: { n:"AxisLine", f:parse_AxisLine }, +0x1022: { n:"CrtLink", f:parse_CrtLink }, +0x1024: { n:"DefaultText", f:parse_DefaultText }, +0x1025: { n:"Text", f:parse_Text }, +0x1026: { n:"FontX", f:parse_FontX }, +0x1027: { n:"ObjectLink", f:parse_ObjectLink }, +0x1032: { n:"Frame", f:parse_Frame }, +0x1033: { n:"Begin", f:parse_Begin }, +0x1034: { n:"End", f:parse_End }, +0x1035: { n:"PlotArea", f:parse_PlotArea }, +0x103a: { n:"Chart3d", f:parse_Chart3d }, +0x103c: { n:"PicF", f:parse_PicF }, +0x103d: { n:"DropBar", f:parse_DropBar }, +0x103e: { n:"Radar", f:parse_Radar }, +0x103f: { n:"Surf", f:parse_Surf }, +0x1040: { n:"RadarArea", f:parse_RadarArea }, +0x1041: { n:"AxisParent", f:parse_AxisParent }, +0x1043: { n:"LegendException", f:parse_LegendException }, +0x1044: { n:"ShtProps", f:parse_ShtProps }, +0x1045: { n:"SerToCrt", f:parse_SerToCrt }, +0x1046: { n:"AxesUsed", f:parse_AxesUsed }, +0x1048: { n:"SBaseRef", f:parse_SBaseRef }, +0x104a: { n:"SerParent", f:parse_SerParent }, +0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, +0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, +0x104f: { n:"Pos", f:parse_Pos }, +0x1050: { n:"AlRuns", f:parse_AlRuns }, +0x1051: { n:"BRAI", f:parse_BRAI }, +0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, +0x105c: { n:"ClrtClient", f:parse_ClrtClient }, +0x105d: { n:"SerFmt", f:parse_SerFmt }, +0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, +0x1060: { n:"Fbi", f:parse_Fbi }, +0x1061: { n:"BopPop", f:parse_BopPop }, +0x1062: { n:"AxcExt", f:parse_AxcExt }, +0x1063: { n:"Dat", f:parse_Dat }, +0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, +0x1065: { n:"SIIndex", f:parse_SIIndex }, +0x1066: { n:"GelFrame", f:parse_GelFrame }, +0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, +0x1068: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ - 0x0016: { n:"ExternCount", f:parsenoop }, - 0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ - 0x007f: { n:"ImData", f:parsenoop }, - 0x0087: { n:"Addin", f:parsenoop }, - 0x0088: { n:"Edg", f:parsenoop }, - 0x0089: { n:"Pub", f:parsenoop }, - 0x0091: { n:"Sub", f:parsenoop }, - 0x0094: { n:"LHRecord", f:parsenoop }, - 0x0095: { n:"LHNGraph", f:parsenoop }, - 0x0096: { n:"Sound", f:parsenoop }, - 0x00a9: { n:"CoordList", f:parsenoop }, - 0x00ab: { n:"GCW", f:parsenoop }, - 0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ - 0x00c2: { n:"AddMenu", f:parsenoop }, - 0x00c3: { n:"DelMenu", f:parsenoop }, - 0x00d6: { n:"RString", f:parsenoop }, - 0x00df: { n:"UDDesc", f:parsenoop }, - 0x00ea: { n:"TabIdConf", f:parsenoop }, - 0x0162: { n:"XL5Modify", f:parsenoop }, - 0x01a5: { n:"FileSharing2", f:parsenoop }, - 0x0218: { n:"Name", f:parsenoop }, - 0x0223: { n:"ExternName", f:parse_ExternName }, - 0x0231: { n:"Font", f:parsenoop }, - 0x0406: { n:"Formula", f:parse_Formula }, - 0x086d: { n:"FeatInfo", f:parsenoop }, - 0x0873: { n:"FeatInfo11", f:parsenoop }, - 0x0881: { n:"SXAddl12", f:parsenoop }, - 0x08c0: { n:"AutoWebPub", f:parsenoop }, - 0x08c1: { n:"ListObj", f:parsenoop }, - 0x08c2: { n:"ListField", f:parsenoop }, - 0x08c3: { n:"ListDV", f:parsenoop }, - 0x08c4: { n:"ListCondFmt", f:parsenoop }, - 0x08c5: { n:"ListCF", f:parsenoop }, - 0x08c6: { n:"FMQry", f:parsenoop }, - 0x08c7: { n:"FMSQry", f:parsenoop }, - 0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ - 0x08c9: { n:"LnExt", f:parsenoop }, - 0x08ca: { n:"MkrExt", f:parsenoop }, - 0x08cb: { n:"CrtCoopt", f:parsenoop }, +0x0000: { n:"Dimension", f:parsenoop }, +0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, +0x0005: { n:"BoolErr", f:parse_BoolErr }, +0x0007: { n:"String", f:parse_BIFF2STRING }, +0x0008: { n:"BIFF2ROW", f:parsenoop }, +0x000b: { n:"Index", f:parse_Index }, +0x001e: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, +0x001f: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ +0x0016: { n:"ExternCount", f:parsenoop }, +0x0025: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, +0x0032: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, +0x003e: { n:"BIFF2WINDOW2", f:parsenoop }, +0x0045: { n:"BIFF2FONTCLR", f:parsenoop }, +0x0056: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ +0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ +0x007f: { n:"ImData", f:parsenoop }, +0x0087: { n:"Addin", f:parsenoop }, +0x0088: { n:"Edg", f:parsenoop }, +0x0089: { n:"Pub", f:parsenoop }, +0x0091: { n:"Sub", f:parsenoop }, +0x0094: { n:"LHRecord", f:parsenoop }, +0x0095: { n:"LHNGraph", f:parsenoop }, +0x0096: { n:"Sound", f:parsenoop }, +0x00a9: { n:"CoordList", f:parsenoop }, +0x00ab: { n:"GCW", f:parsenoop }, +0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ +0x00c2: { n:"AddMenu", f:parsenoop }, +0x00c3: { n:"DelMenu", f:parsenoop }, +0x00d6: { n:"RString", f:parsenoop }, +0x00df: { n:"UDDesc", f:parsenoop }, +0x00ea: { n:"TabIdConf", f:parsenoop }, +0x0162: { n:"XL5Modify", f:parsenoop }, +0x01a5: { n:"FileSharing2", f:parsenoop }, +0x0209: { n:'BOF', f:parse_BOF }, +0x0218: { n:"Lbl", f:parse_Lbl }, +0x0223: { n:"ExternName", f:parse_ExternName }, +0x0231: { n:"Font", f:parsenoop }, +0x0406: { n:"Formula", f:parse_Formula }, +0x0409: { n:'BOF', f:parse_BOF }, +0x086d: { n:"FeatInfo", f:parsenoop }, +0x0873: { n:"FeatInfo11", f:parsenoop }, +0x0881: { n:"SXAddl12", f:parsenoop }, +0x08c0: { n:"AutoWebPub", f:parsenoop }, +0x08c1: { n:"ListObj", f:parsenoop }, +0x08c2: { n:"ListField", f:parsenoop }, +0x08c3: { n:"ListDV", f:parsenoop }, +0x08c4: { n:"ListCondFmt", f:parsenoop }, +0x08c5: { n:"ListCF", f:parsenoop }, +0x08c6: { n:"FMQry", f:parsenoop }, +0x08c7: { n:"FMSQry", f:parsenoop }, +0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ +0x08c9: { n:"LnExt", f:parsenoop }, +0x08ca: { n:"MkrExt", f:parsenoop }, +0x08cb: { n:"CrtCoopt", f:parsenoop }, - 0x0000: {} +0x0043: { n:"BIFF2XF", f:parsenoop }, +0x0243: { n:"BIFF3XF", f:parsenoop }, +0x0443: { n:"BIFF4XF", f:parsenoop }, + +0x7262: {} }; +/* BIFF2-4 single-sheet workbooks */ +function write_biff_rec(ba, t, payload, length) { + var len = (length || (payload||[]).length); + var o = ba.next(4 + len); + o.write_shift(2, t); + o.write_shift(2, len); + if(len > 0 && is_buf(payload)) ba.push(payload); +} + +function write_BOF(wb, o) { + if(o.bookType != 'biff2') throw "unsupported BIFF version"; + var out = new_buf(4); + out.write_shift(2, 0x0002); // "unused" + out.write_shift(2, 0x0010); // Sheet + return out; +} + +function write_BIFF2Cell(out, r, c) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, 0); + out.write_shift(1, 0); + out.write_shift(1, 0); + return out; +} + +function write_BIFF2INT(r, c, val) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + out.write_shift(2, val); + return out; +} + +function write_BIFF2NUMBER(r, c, val) { + var out = new_buf(15); + write_BIFF2Cell(out, r, c); + out.write_shift(8, val, 'f'); + return out; +} + +function write_BIFF2BERR(r, c, val, t) { + var out = new_buf(9); + write_BIFF2Cell(out, r, c); + if(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); } + else { out.write_shift(1, val?1:0); out.write_shift(1, 0); } + return out; +} + +/* TODO: codepage, large strings */ +function write_BIFF2LABEL(r, c, val) { + var out = new_buf(8 + 2*val.length); + write_BIFF2Cell(out, r, c); + out.write_shift(1, val.length); + out.write_shift(val.length, val, 'sbcs'); + return out.l < out.length ? out.slice(0, out.l) : out; +} + +function write_ws_biff_cell(ba, cell, R, C, opts) { + switch(cell.t) { + case 'n': + if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); + else + write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); + break; + case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; + /* TODO: codepage, sst */ + case 's': case 'str': + write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); + break; + default: write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); + } +} + +function write_biff_ws(ba, ws, idx, opts, wb) { + var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + for(var R = range.s.r; R <= range.e.r; ++R) { + rr = encode_row(R); + for(var C = range.s.c; C <= range.e.c; ++C) { + if(R === range.s.r) cols[C] = encode_col(C); + ref = cols[C] + rr; + if(!ws[ref]) continue; + /* write cell */ + write_ws_biff_cell(ba, ws[ref], R, C, opts); + } + } +} + +/* Based on test files */ +function write_biff_buf(wb, o) { + var ba = buf_array(); + var idx = 0; + for(var i=0;i 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); - else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + else if(dir.defaults && dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } @@ -11395,19 +11797,20 @@ function write_zip(wb, opts) { coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], TODO:[], rels:[], xmlns: "" }; fix_write_opts(opts = opts || {}); - var zip = new jszip(); +var zip = new jszip(); var f = "", rId = 0; opts.cellXfs = []; get_cell_style(opts.cellXfs, {}, {revssf:{"General":0}}); + if(!wb.Props) wb.Props = {}; + f = "docProps/core.xml"; zip.file(f, write_core_props(wb.Props, opts)); ct.coreprops.push(f); add_rels(opts.rels, 2, f, RELS.CORE_PROPS); f = "docProps/app.xml"; - if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); @@ -11465,51 +11868,46 @@ function firstbyte(f,o) { case 'base64': return Base64.decode(f.substr(0,12)).charCodeAt(0); case 'binary': return f.charCodeAt(0); case 'array': return f[0]; - default: throw new Error("Unrecognized type " + o.type); + default: throw new Error("Unrecognized type " + (o ? o.type : "undefined")); } } function read_zip(data, opts) { - var zip, d = data; +var zip, d = data; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; switch(o.type) { case "base64": zip = new jszip(d, { base64:true }); break; case "binary": case "array": zip = new jszip(d, { base64:false }); break; case "buffer": zip = new jszip(d); break; - case "file": zip=new jszip(d=_fs.readFileSync(data)); break; default: throw new Error("Unrecognized type " + o.type); } return parse_zip(zip, o); } function readSync(data, opts) { - var zip, d = data, isfile = false, n; + var zip, d = data, n=0; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; - if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } + if(o.type == "file") { o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: - if(isfile) o.type = "file"; - return parse_xlscfb(CFB.read(data, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); + case 0xD0: return parse_xlscfb(CFB.read(d, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); case 0x3C: return parse_xlml(d, o); - case 0x50: - if(isfile) o.type = "file"; - return read_zip(data, opts); + case 0x50: return read_zip(d, o); default: throw new Error("Unsupported file " + n); } } -function readFileSync(data, opts) { +function readFileSync(filename, opts) { var o = opts||{}; o.type = 'file'; - return readSync(data, o); + return readSync(filename, o); } function write_zip_type(wb, opts) { var o = opts||{}; var z = write_zip(wb, o); var oopts = {}; - if(opts.compression) oopts.compression = 'DEFLATE'; + if(o.compression) oopts.compression = 'DEFLATE'; switch(o.type) { case "base64": oopts.type = "base64"; break; case "binary": oopts.type = "string"; break; @@ -11525,6 +11923,7 @@ function writeSync(wb, opts) { var o = opts||{}; switch(o.bookType) { case 'xml': return write_xlml(wb, o); + case 'biff2': return write_biff(wb, o); default: return write_zip_type(wb, o); } } @@ -11537,7 +11936,7 @@ function writeFileSync(wb, filename, opts) { case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; default: switch(o.file.substr(-4).toLowerCase()) { - case '.xls': o.bookType = 'xls'; break; + case '.xls': o.bookType = 'biff2'; break; case '.xml': o.bookType = 'xml'; break; case '.ods': o.bookType = 'ods'; break; }}